<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1' />
    <meta name="renderer" content="webkit">
    <meta http-equiv="Expires" content="0">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-control" content="no-cache">
    <meta http-equiv="Cache" content="no-cache">
    <title>Apipost接口文档</title>
    <link href="https://img.cdn.apipost.cn/docs/css7/style.css?20220909" rel="stylesheet">
    <link href="https://img.cdn.apipost.cn/docs/css/font-awesome-4.7.0/css/font-awesome.min.css?20220909" rel="stylesheet">
    <link href="https://img.cdn.apipost.cn/docs/css7/github.css?20220909" rel="stylesheet">
    <link rel="stylesheet" href="https://img.cdn.apipost.cn/docs/css7/content-v7.css?20220909">
    <link href="https://img.cdn.apipost.cn/docs/css7/json-viewer.css?20220909" rel="stylesheet">
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/jquery-3.4.1.min.js?20220909"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js7/marked.min.js?20220909"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js7/template-web.js?20220909"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js7/highlight.js?20220909"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js7/clipboard.min.js?20220909"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js7/crypto-js.min.js?20220909" charset="utf-8"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/json5.min.js?20220909"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/dayjs.min.js?20220909"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/url-join.js?20220909"></script>
    <!-- <script type="text/javascript" src="./js/enc.min.js"></script> -->
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/json-viewer.min.js?20220909"></script>
    <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/lodash.min.js?20220909"></script>
    <script type="text/javascript">
        consoleLog = console.log; // 重写 consoleLog
        $(function () {

        })
    </script>
</head>

<body>
<div class="apipost-doc-body">
    <div class="apipost-doc-body-main">
        <div class="apipost-doc-body-nav">
            <h1>没雨溪</h1>
            <!-- <div class="logo">
                <a href="https://www.apipost.cn/"><img class="project-logo" src="https://img.cdn.apipost.cn/docs/images7/logo.svg" /></a>
            </div> -->
            <div class="apipost-doc-body-nav-search">
                <img src="https://img.cdn.apipost.cn/docs/images7/search-icon.svg">
                <input type="text" name="search-input" placeholder="搜索目录、接口。支持 名称、URL、Method 搜索">
            </div>
            <div class="apipost-doc-body-nav-title"> 项目名 </div>
            <div class="apipost-doc-body-nav-list">
                <ul>
                    <li data-type="global" data-parent_id="0" data-target_id="001" data-indent="0"
                        class="global active">
                        <a class="load-data-btn" href="javascript:;" data-type="global" data-parent_id="0"
                           data-target_id="001" data-indent="0">全局公共参数</a>
                    </li>
                </ul>
                <ul class="apipost-left-nav-template">
                    <script type="text/html" id="apipost-left-nav-template-tpl">
                        {{if _.isArray(list)}}
                        {{each list item}}
                        {{if !item.indent}}
                        {{set indent = item.indent = 0}}
                        {{/if}}
                        <li data-type="{{item.target_type}}" data-parent_id="{{item.parent_id}}" data-target_id="{{item.target_id}}" data-indent="{{item.indent}}" class="{{item.target_type}} {{if target_id == item.target_id}}active{{/if}} {{if item.indent != 0}}is-hidden{{/if}}" style="padding-left: {{item.indent?item.indent:0}}em;">
                            {{if item.target_type == 'folder' || item.example_type == 'folder'}}
                            <a class="load-data-btn" href="javascript:;" data-type="{{item.target_type}}" data-parent_id="{{item.parent_id}}" data-target_id="{{item.local_target_id}}" data-indent="{{item.indent}}"><i class="fa fa-caret-down"></i>{{item.name}}</a>
                            {{else if item.target_type == 'websocket' || item.example_type == 'websocket'}}
                            <a class="load-data-btn" href="javascript:;" data-type="{{item.target_type}}" data-parent_id="{{item.parent_id}}" data-target_id="{{item.local_target_id}}" data-indent="{{item.indent}}"><em class="method websocket">WS</em><span>{{item.name}}</span></a>
                            {{else if item.target_type == 'doc' || item.example_type == 'doc'}}
                            <a class="load-data-btn" href="javascript:;" data-type="{{item.target_type}}" data-parent_id="{{item.parent_id}}" data-target_id="{{item.local_target_id}}" data-indent="{{item.indent}}"><em class="method doc">文本</em><span>{{item.name}}</span></a>
                            {{else if item.target_type == 'grpc' || item.example_type == 'grpc'}}
                            <a class="load-data-btn" href="javascript:;" data-type="{{item.target_type}}" data-parent_id="{{item.parent_id}}" data-target_id="{{item.local_target_id}}" data-indent="{{item.indent}}"><em class="method grpc">GRPC</em><span>{{item.name}}</span></a>
                            {{else}}
                            <a class="load-data-btn" href="javascript:;" data-type="{{item.target_type}}" data-parent_id="{{item.parent_id}}" data-target_id="{{item.local_target_id}}" data-indent="{{item.indent}}"><em class="method {{item.method}}">{{item.method}}</em><span>{{item.name}}</span></a>
                            {{/if}}
                            {{if item.target_type != 'folder' && item.color}}
                            <span style="margin-left:5px;display:inline-block;width:6px;height:6px;border-radius:50%;background-color: {{item.color}};"></span>



                            {{/if}}
                            {{if item.target_type == 'example'}}
                            <svg style="margin-left:5px;" width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
                                <path d="M4.91033 6.68207H3.30033C3.09013 6.68207 2.94513 6.4768 3.01993 6.28529L4.61973 2.18849C4.64137 2.13306 4.67976 2.08536 4.72982 2.0517C4.77987 2.01804 4.83923 2.00001 4.90003 2H7.59962C7.81262 2 7.95782 2.21054 7.87742 2.40303L6.94592 4.63367H8.69951C8.95741 4.63367 9.09501 4.93026 8.92491 5.11933L4.62553 9.89887C4.41653 10.1313 4.02903 9.92989 4.11013 9.63106L4.91033 6.68207Z" fill="#FFC01E"/>
                            </svg>
                            {{/if}}
                        </li>
                        {{if _.isArray(item.children)}}
                        {{each item.children as childrenItem key}}
                        {{if item.children[key].indent}}
                        {{set indent = item.children[key].indent = item.children[key].indent+2}}
                        {{else}}
                        {{set indent = item.children[key].indent = item.indent + 2}}
                        {{/if}}
                        {{/each}}

                        {{set _recursiveList ={list:item.children}; }}
                        {{include 'apipost-left-nav-template-tpl' _recursiveList}}
                        {{/if}}
                        {{/each}}
                        {{/if}}
                    </script>
                </ul>
            </div>
            <div class="apipost-doc-body-nav-drag-bar"></div>
        </div>
        <div class="apipost-doc-body-content">
            <div class="apipost-doc-wrap">
                <script type="text/html" id="apipost-doc-wrap-tpl">
                    <div class="apipost-doc-wrap-title">
                        <h2 class="title" data-text="{{data.name}}" id="{{data.name}}">
                            <div class="mobile-nav-toggle-btn">
                                <a href="javascript:;" class="mobile-nav-toggle-link-btn"><i class="fa fa-reorder"></i></a>
                            </div>
                            <div class="title-text">{{data.name}}</div>
                            {{if data.target_type == 'api' || data.example_type == 'api'}}
                            <button type="button" class="copy-clipboard" data-clipboard-text="{{JSON.stringify(data.copyData)}}"><i class="fa fa-copy"></i> 复制接口 </button>
                            {{/if}}
                            {{if data.target_type == 'api' || data.target_type == 'grpc' || data.target_type == 'websocket' || data.example_type == 'api' || data.example_type == 'grpc' || data.example_type == 'websocket'}}
                            <a type="button" class="copy-clipboard" data-clipboard-text="{{JSON.stringify(data)}}" href="https://v7.apipost.cn/#/apis/run?target_id={{data.target_id}}" target="_blank">去调试</a>
                            {{/if}}
                        </h2>
                    </div>
                    <div class="apipost-doc-wrap-desc">
                        <!-- 创建人：哈利厄 最后更新：哈利厄 &nbsp;&nbsp; -->
                        创建时间：{{data.format_create_dtime}} &nbsp;&nbsp;更新时间：{{data.format_update_dtime}}
                    </div>
                    {{if _.has(data, 'request.description')}}
                    <div class="apipost-doc-wrap-para-markdown">
                        <div class="markdown-section">{{@marked(data.request.description)}}</div>
                    </div>
                    {{/if}}
                    {{if data.target_type == 'grpc' || data.example_type == 'grpc'}}
                    <h3 class="apipost-doc-wrap-para-title" data-text="基本信息" id="基本信息">
                        <i class="fa fa-wpforms"></i>
                        <span>基本信息</span>
                    </h3>
                    <ul class="apipost-doc-wrap-base-para">
                        {{if _.has(data, 'formatMark') && _.isObject(data.formatMark)}}
                        <li><span>接口状态： </span><span style="color: {{data.formatMark.color}};">{{data.formatMark.name}}</span> </li>
                        {{/if}}
                    </ul>
                    {{if _.has(data, 'protos') && _.isObject(data.protos) && Object.values(data.protos).length > 0}}
                    <h3 class="apipost-doc-wrap-para-title" data-text="方法列表" id="方法列表">
                        <i class="fa fa-wpforms"></i>
                        <span>方法列表</span>
                    </h3>
                    {{each data.protos item key}}
                    {{if _.has(item, 'services') && _.isObject(item.services) && !_.isEmpty(item.services)}}
                    <h4 class="apipost-doc-wrap-para-title" data-text="{{key}}" id="{{key}}">
                        <span>{{key}}</span>
                    </h4>
                    <div class="apipost-doc-paras" for-id="{{key}}">
                        {{each item.services service namespace}}
                        {{if _.isObject(service)}}
                        {{each service method methodName}}
                        <h5 data-text="{{namespace}}/{{methodName}}" id="{{namespace}}/{{methodName}}"><a name="{{key}}/{{namespace}}/{{methodName}}">[method]</a> {{key}}/{{namespace}}/{{methodName}}</h5>
                        <ul class="apipost-doc-wrap-base-para">
                            <li><span>方法名： </span><span><i class="copy-clipboard"  data-clipboard-text="{{methodName}}">{{methodName}}</i></span> </li>
                            <li><span>服务地址： </span><span><i class="copy-clipboard"  data-clipboard-text="{{method.url}}">{{method.url}}</i></span> </li>
                        </ul>
                        {{if _.has(method, 'request.body.raw') && method.request.body.raw != ''}}
                        <h6 data-text="请求参数" id="请求参数">请求参数</h6>
                        <div class="apipost-raw-json request-body-json-view">
                            <button type="button" class="copy-clipboard" data-clipboard-text="{{method.request.body.raw}}"><i class="fa fa-clipboard"></i>复制</button>
                            <input type="hidden" id="request-body-raw-editor-input-{{methodName}}" value='{{method.request.body.raw}}'>
                            <pre class="request-body-raw-editor-json" id="request-body-raw-editor-json-{{methodName}}"><code class="json">{{method.request.body.raw}}</code></pre>
                        </div>
                        {{if _.has(method, 'request.body.parameter') && _.isArray(method.request.body.parameter) && method.request.body.parameter.length > 0}}
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each method.request.body.parameter item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{/if}}
                        {{if _.has(method, 'response') && _.isObject(method.response) && !_.isEmpty(method.response)}}
                        {{each method.response response name}}
                        {{if response.raw != ''}}
                        <h6 data-text="{{name == 'success' ? '成功响应示例':'错误响应示例'}}" id="{{name == 'success' ? '成功响应示例':'错误响应示例'}}">{{name == 'success' ? '成功响应示例':'错误响应示例'}}</h6>
                        <div class="apipost-raw-json response-body-json-view">
                            <button type="button" class="copy-clipboard" data-clipboard-text="{{response.raw}}"><i class="fa fa-clipboard"></i>复制</button>
                            <input type="hidden" id="response-body-raw-editor-input-{{name}}" value='{{response.raw}}'>
                            <pre class="request-body-raw-editor-json" id="response-body-raw-editor-json-{{name}}"><code class="json">{{response.raw}}</code></pre>
                        </div>
                        {{if _.has(response, 'parameter') && _.isArray(response.parameter) && response.parameter.length > 0}}
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each response.parameter item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td>
                                    <pre>{{item.value}}</pre>
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{/if}}
                        {{/each}}
                        {{/if}}
                        <hr>
                        {{/each}}
                        {{/if}}
                        {{/each}}
                    </div>
                    {{/if}}
                    {{/each}}
                    {{/if}}
                    {{/if}}
                    {{if data.target_type == 'folder'}}
                    <h3 class="apipost-doc-wrap-para-title" data-text="目录参数" id="目录参数">
                        <i class="fa fa-wpforms"></i>
                        <span>目录参数</span>
                    </h3>
                    <div class="apipost-doc-paras" for-id="目录参数">
                        {{if _.has(data, 'request.header') && _.isArray(data.request.header) && data.request.header.length > 0}}
                        <h4 data-text="Header 请求参数" id="Header 请求参数">Header 请求参数</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.header item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'request.query') && _.isArray(data.request.query) && data.request.query.length > 0}}
                        <h4 data-text="Query 请求参数" id="Query 请求参数">Query 请求参数</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.query item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'request.body') && _.isArray(data.request.body) && data.request.body.length > 0}}
                        <h4 data-text="Body 请求参数" id="Body 请求参数">Body 请求参数</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.body item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.type == 'File' ? '[文件路径]':item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.type == 'File' ? '[文件类型]':item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'request.authType')}}
                        <h4 data-text="认证方式" id="认证方式">认证方式</h4>
                        <ul class="apipost-doc-wrap-base-para">
                            <li>{{data.request.authType}}</li>
                        </ul>
                        {{/if}}
                    </div>
                    {{/if}}
                    {{if data.target_type == 'global'}}
                    <div class="apipost-global-tips">
                        说明：全局公共参数是针对项目而言的，所有请求的 HTTP 类型的接口都需要携带此参数。
                    </div>
                    <h3 data-text="全局公共参数" id="全局公共参数" class="apipost-doc-wrap-para-title">
                        <i class="fa fa-wpforms"></i>
                        <span>全局公共参数</span>
                    </h3>
                    <div class="apipost-doc-paras" for-id="全局公共参数">
                        {{if _.has(data, 'request.header') && _.isArray(data.request.header) && data.request.header.length > 0}}
                        <h4 data-text="Header 请求参数" id="Header 请求参数" >Header 请求参数</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>


                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.header item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.value}}</pre>
                                    {{/if}}
                                </td>


                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'request.query') && _.isArray(data.request.query) && data.request.query.length > 0}}
                        <h4 data-text="Query 请求参数" id="Query 请求参数">Query 请求参数</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>


                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.query item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.value}}</pre>
                                    {{/if}}
                                </td>


                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'request.body') && _.isArray(data.request.body) && data.request.body.length > 0}}
                        <h4 data-text="Body 请求参数" id="Body 请求参数">Body 请求参数</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>


                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.body item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.type == 'File' ? '[文件路径]':item.value}}</pre>
                                    {{/if}}
                                </td>


                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'script.auth.type')}}
                        <h4 data-text="认证方式" id="认证方式">认证方式</h4>
                        <ul class="apipost-doc-wrap-base-para">
                            <li>{{data.script.auth.type}}</li>
                        </ul>
                        {{/if}}
                    </div>
                    {{/if}}
                    {{if data.target_type == 'websocket' || data.example_type == 'websocket'}}
                    <h3 data-text="基本信息" id="基本信息" class="apipost-doc-wrap-para-title">
                        <i class="fa fa-wpforms"></i>
                        <span>基本信息</span>
                    </h3>
                    <ul class="apipost-doc-wrap-base-para">
                        {{if _.has(data, 'formatMark') && _.isObject(data.formatMark)}}
                        <li><span>接口状态： </span><span style="color: {{data.formatMark.color}};">{{data.formatMark.name}}</span> </li>
                        {{/if}}
                        <li><span>接口URL： </span><span><em class="method {{data.method}}">{{data.method}}</em>
                                <i class="copy-clipboard"  data-clipboard-text="{{data.url}}">{{data.url}}</i></span> </li>
                    </ul>
                    {{/if}}
                    {{if data.target_type == 'api' || data.example_type == 'api'}}
                    <h3 data-text="基本信息" id="基本信息" class="apipost-doc-wrap-para-title">
                        <i class="fa fa-wpforms"></i>
                        <span>基本信息</span>
                    </h3>
                    <ul class="apipost-doc-wrap-base-para">
                        {{if _.has(data, 'formatMark') && _.isObject(data.formatMark)}}
                        <li><span>接口状态： </span><span style="color: {{data.formatMark.color}};">{{data.formatMark.name}}</span> </li>
                        {{/if}}
                        <li><span>接口URL： </span><span><em class="method {{data.method}}">{{data.method}}</em>
                                <i class="copy-clipboard"  data-clipboard-text="{{data.url}}">{{data.url}}</i></span> </li>
                        {{if data.mock_url != ''}}
                        <li><span>本地 Mock： </span><span><i class="copy-clipboard"  data-clipboard-text="{{urlJoin('http://127.0.0.1:10393/mock/',data.project_id, data.mock_url,'?apipost_id='+data.target_id.toString().substr(0,6))}}">{{urlJoin('http://127.0.0.1:10393/mock/',data.project_id, data.mock_url,'?apipost_id='+data.target_id.toString().substr(0,6))}}</i><br><a href="https://www.apipost.cn/download.html" target="_blank">需安装 Apipost v7 客户端</a> </span> </li>
                        {{if data.enable_server_mock > 0}}
                        <li><span>云端 Mock： </span><span><i class="copy-clipboard"  data-clipboard-text="{{urlJoin('https://console-mock.apipost.cn/mock/',data.project_id, data.mock_url,'?apipost_id='+data.target_id.toString().substr(0,6))}}">{{urlJoin('https://console-mock.apipost.cn/mock/',data.project_id, data.mock_url,'?apipost_id='+data.target_id.toString().substr(0,6))}}</i></span> </li>
                        {{/if}}
                        {{/if}}
                        {{if _.has(data, 'request.body.formatMode')}}
                        <li><span>Content-Type：</span><span><i class="copy-clipboard" data-clipboard-text="{{data.request.body.formatMode}}">{{data.request.body.formatMode}}</i></span></li>
                        {{/if}}
                        {{if _.has(data, 'request.authType')}}
                        <li><span>认证方式：</span><span><i class="copy-clipboard" data-clipboard-text="{{data.request.authType}}">{{data.request.authType}}</i></span></li>
                        {{/if}}
                    </ul>
                    <h3 data-text="请求参数" id="请求参数" class="apipost-doc-wrap-para-title">
                        <i class="fa fa-wpforms"></i>
                        <span>请求参数</span>
                    </h3>
                    <div class="apipost-doc-paras" for-id="请求参数">
                        {{if _.has(data, 'request.header.parameter') && _.isArray(data.request.header.parameter) && data.request.header.parameter.length > 0}}
                        <h4 data-text="Header 请求参数" id="Header 请求参数" >Header 请求参数</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.header.parameter item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'request.query.parameter') && _.isArray(data.request.query.parameter) && data.request.query.parameter.length > 0}}
                        <h4 data-text="Query 请求参数" id="Query 请求参数" >Query 请求参数</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.query.parameter item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.type == 'File' ? '[文件路径]':item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'request.resful.parameter') && _.isArray(data.request.resful.parameter) && data.request.resful.parameter.length > 0}}
                        <h4 data-text="路径参数及说明" id="路径参数及说明" >路径参数及说明</h4>
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.resful.parameter item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.type == 'File' ? '[文件路径]':item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{if _.has(data, 'request.body.mode') && data.request.body.mode != 'none'}}
                        <h4 data-text="Body 请求参数" id="Body 请求参数" >Body 请求参数</h4>
                        {{if data.request.body.mode == 'form-data' || data.request.body.mode == 'urlencoded'}}
                        {{if _.has(data, 'request.body.parameter') && _.isArray(data.request.body.parameter) && data.request.body.parameter.length > 0}}
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.body.parameter item}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.type == 'File' ? '[文件路径]':item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.type == 'File' ? '[文件类型]':item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{else}}
                        {{if data.request.body.raw != ''}}
                        <div class="apipost-raw-json request-body-json-view">
                            <button type="button" class="copy-clipboard" data-clipboard-text="{{data.request.body.raw}}"><i class="fa fa-clipboard"></i>复制</button>
                            <input type="hidden" id="request-body-raw-editor-input" value='{{data.request.body.raw}}'>
                            <pre id="request-body-raw-editor-json"><code class="json">{{data.request.body.raw}}</code></pre>
                        </div>
                        {{if _.has(data, 'request.body.raw_para') && _.isArray(data.request.body.raw_para) && data.request.body.raw_para.length > 0}}
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <th>是否必填</th>
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each data.request.body.raw_para item}}
                            {{if item.key != ''}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td style="position: relative;">
                                    {{if item.value_var}}
                                    {{item.value_var}}
                                    <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
                                    <div class="vars_title">
                                        变量{{item.value}} 生成
                                    </div>
                                    {{else}}
                                    <pre>{{item.value}}</pre>
                                    {{/if}}
                                </td>
                                <td>{{(item.not_null >0) ? '是' : '否'}}</td>
                                <td>{{item.field_type}}</td>
                                <td>
                                    <pre>{{item.description}}</pre>
                                </td>
                            </tr>
                            {{/if}}
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{/if}}
                        {{/if}}
                        {{/if}}
                    </div>
                    {{if _.has(data, 'response') && _.isObject(data.response) && Object.values(data.response).length > 0}}
                    <h3 data-text="响应示例" id="响应示例" class="apipost-doc-wrap-para-title">
                        <i class="fa fa-wpforms"></i>
                        <span>响应示例</span>
                    </h3>
                    <div class="apipost-doc-paras" for-id="响应示例">
                        {{each data.response item key}}
                        {{if _.has(item, 'expect.name') && item.raw != ''}}
                        <h4 data-text="{{item.expect.name}}（{{item.expect.code}}）" id="{{item.expect.name}}（{{item.expect.code}}）">{{item.expect.name}}（{{item.expect.code}}）</h4>
                        <div data-type="{{key}}" class="apipost-raw-json response-raw-json-view">
                            <button type="button" class="copy-clipboard" data-clipboard-text="{{item.raw}}"><i class="fa fa-clipboard"></i>复制</button>
                            <input type="hidden" id="response-raw-{{key}}-json-input" value='{{item.raw}}'>
                            <pre id="response-raw-{{key}}-json"><code class="json">{{item.raw}}</code></pre>
                        </div>
                        {{if _.has(item, 'parameter') && _.isArray(item.parameter) && item.parameter.length > 0}}
                        <table>
                            <thead>
                            <tr>
                                <th>参数名</th>
                                <th>参数值</th>
                                <!-- <th>是否必填</th> -->
                                <th>参数类型</th>
                                <th>描述说明</th>
                            </tr>
                            </thead>
                            <tbody>
                            {{each item.parameter item}}
                            {{if item.key != ''}}
                            <tr>
                                <td><i class="copy-clipboard"  data-clipboard-text="{{item.key}}">{{item.key}}</i></td>
                                <td>
                                    <pre>{{item.value}}</pre>
                                </td>
                                <!-- <td>{{(item.not_null >0) ? '是' : '否'}}</td> -->
                                <td>{{item.field_type}}</td>
                                <td>
                                    <pre>{{@replaceOperatorSymbol(item.description)}}</pre>
                                </td>
                            </tr>
                            {{/if}}
                            {{/each}}
                            </tbody>
                        </table>
                        {{/if}}
                        {{/if}}
                        {{/each}}
                    </div>
                    {{/if}}
                    {{/if}}
                    <footer> 本文档由 <a href="https://www.apipost.cn/" target="_blank">Apipost 接口管理工具 （https://www.apipost.cn）</a>
                        生成 </footer>
                </script>
            </div>
            <div class="apipost-float-navs">
                <h2>内容导航</h2>
                <ul class="apipost-float-nav-template">
                    <script type="text/html" id="apipost-float-nav-template-tpl">
                        {{if list.length > 0}}
                        {{each list item i}}
                        <li style="text-indent: {{item.indent*16}}px;" {{if i == 0}}class="active"{{/if}} data-id="{{item.id}}"><a href="#{{item.id}}">{{item.text}}</a></li>
                        {{/each}}
                        {{else}}
                        <li style="text-align: center;justify-content: center;">暂无导航数据</li>
                        {{/if}}
                    </script>
                </ul>
            </div>
        </div>
    </div>
</div>
<script type="text/javascript">
    // 给 arttemplate 注入新函数
    template.defaults.imports.JSON = JSON;
    template.defaults.imports.urlJoin = urlJoin;
    template.defaults.imports._ = _;
    template.defaults.imports.marked = function (md) {
        marked.setOptions({
            renderer: new marked.Renderer(),
            highlight(code) {
                return hljs.highlight('javascript', code).value;
            },
            breaks: true,
            sanitize: true,
        });
        return marked.parse(md).replace(/<pre>/g, "<pre class='hljs javascript'>");
    };
    template.defaults.imports.Object = Object;
    template.defaults.imports.keyFormat = function (params) {
        const arr = params.split('.');
        let str = '';
        for (let i = 0; i < arr.length - 1; i++) {
            str += `<span style="color:#999">${arr[i]}.</span>`;
        }
        str += arr[arr.length - 1];
        return str;
    };
    template.defaults.imports.replaceOperatorSymbol = function (originString) {
        if (!originString || originString=='') {
            return '';
        }
        const result = originString.replace(/&([^&;]+);/g, function (matchStr, b) {
            const entity = {
                quot: '"',
                lt: '<',
                gt: '>',
                apos: "'",
                amp: '&',
                ldquo: '“',
                rdquo: '”',
            };
            const r = entity[b];
            return typeof r === 'string' ? r : matchStr;
        });
        return result;
    };
    template.defaults.imports.markForName = function (key) {
        try {
            if (apipostData.project.vars.mark.filter((it) => it.key === key)[0].name) {
                return apipostData.project.vars.mark.filter((it) => it.key === key)[0].name;
            }
            return '开发中';
        } catch (error) {
            return '开发中';
        }
    };

    // 接口排序
    function sortData(data, type) {
        data.sort((a, b) => {
            // 升序
            if (type == 'ascending') {
                if (a.sort != b.sort) {
                    return a.sort - b.sort;
                }
                return a.name.localeCompare(b.name);
            }
            // 降序
            if (type == 'descending') {
                if (a.sort != b.sort) {
                    return b.sort - a.sort;
                }
                return b.name.localeCompare(a.name);
            }
        });

        // 如果有嵌套children且children里面有数据 就递归调用排序函数
        if (_.isArray(data)) {
            data.forEach((item) => {
                if (item.children && item.children.length != 0) {
                    sortData(item.children, type);
                }
            });

            return data;
        }
        return [];
    }

    // 解析 url 并返回数组
    function GetUrlQuery(uri) {
        let url = '';
        if (typeof uri === 'undefined') {
            url = window.location.search;
        } else {
            url = `?${uri.split('?')[1]}`;
        }
        const theRequest = {};
        if (url.indexOf('?') !== -1) {
            const str = url.substr(1);
            const strs = str.split('&');
            for (let i = 0; i < strs.length; i++) {
                theRequest[strs[i].split('=')[0]] = unescape(strs[i].split('=')[1]);
            }
        }
        return theRequest;
    }

    // 获取某接口的 所有父target
    function getParentTargetIDs(collection, target_id, parent_ids = []) {
        if (_.isArray(collection)) {
            const item = _.find(collection, _.matchesProperty('target_id', target_id));

            if (item) {
                parent_ids.push(item.parent_id);
                getParentTargetIDs(collection, item.parent_id, parent_ids);
            }
        }

        return parent_ids;
    }

    // 获取某接口的 所有子target
    function getChildrenTargetIDs(collection, target_id, children_ids = []) {
        if (_.isArray(collection)) {
            collection.forEach(item => {
                if (item.parent_id == target_id) {
                    children_ids.push(item.target_id);
                    getChildrenTargetIDs(collection, item.target_id, children_ids);
                }
            })
        }

        return children_ids;
    }

    // // 获取某接口的 所有子target
    // function getChildrenTargetIDs(collection, target_id, children_ids = []) {
    //     if (_.isArray(collection)) {
    //         collection.forEach(item => {
    //             if (item.target_id == target_id) {
    //                 if (item.children && _.isArray(item.children)) {
    //                     item.children.forEach((it) => {
    //                         children_ids.push(it.target_id);
    //                         if (it.children && _.isArray(it.children)) {
    //                             getChildrenTargetIDs(it.children, it.target_id, children_ids);
    //                         }
    //                     })
    //                 }
    //             }
    //         })
    //     }
    //     return children_ids;
    // }

    // 接口数据
    let apipostData = {};

    try {
        apipostData = {"data":{"id":1130993,"local_issue_id":"e51a5b62dd11ae3e94a4c0e2a154ae14","local_target_id":"0f918a03-f846-4194-bfb2-3911978c9115","project_id":2446259,"name":"后台接口重构版","url":"08fd19f385d32609","salt":"911cde03b52a2ff3","password":"","env_id":"19dc2474-a7cc-4f94-a3a7-3ecdd4be6871","create_time":1684256187,"target_id":-1,"target_type":"folder","expire_days":7,"expire_time":1687505497,"attribute_list":[],"env_ids":["19dc2474-a7cc-4f94-a3a7-3ecdd4be6871"],"portrait":"https:\/\/img.cdn.apipost.cn\/user\/default_profile_photo\/Vector-5.png","nick_name":"没雨溪","app_web_url":"https:\/\/v7-api.apipost.cn","project_name":"梅雨溪","publisher":"没雨溪","pub_name":"后台接口重构版","project_logo":"","project":{"vars":{"request":{"cookie":[],"header":[{"type":1,"is_checked":1,"key":"authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlaWQiOiIxIiwiZW1haWwiOiIiLCJwaG9uZSI6IiIsInZpcFN0YW1wIjo0MTMzODA4MDAwMDAwLCJ2aXBFeHBpcmVzIjoiMjEwMC0xMi0zMCAwODowMDowMCIsInZpcExldmVsIjozLCJuaWNrbmFtZSI6Iui2hee6p-euoeeQhuWRmCIsInJvbGVzIjoiIiwiaGVhZGltZ3VybCI6IiIsInJvbGUiOiIiLCJyb2xlTmFtZSI6IiIsIm9wZW5pZCI6IiIsInNleCI6IjEiLCJjaXR5IjoiIiwicHJvdmluY2UiOiIiLCJjb3VudHJ5IjoiIiwidW5pb25pZCI6IiIsInN0YXR1cyI6IjEiLCJjcmVhdGVfYXQiOiIyMDIzLzYvMTYg5LiK5Y2IMTA6NTA6MTMiLCJ1cGRhdGVfYXQiOiIyMDIzLzUvMjYg5LiK5Y2IMTE6MjI6MTQiLCJfaWQiOiI2MmNiZjIxOGE4ZTU3NGE4YTI5OGMyMzgiLCJ1c2VybmFtZSI6InJvb3QiLCJwYXNzd29yZCI6IjEyMCIsInVuaWQiOiJkZjEzZHNmMTIzMTIiLCJpYXQiOjE2ODY4ODQwMzUsImV4cCI6MTY4NjkyMDAzNX0.S9_TMp_pUBZRs0lAu9ga0Dh0u4B_1_L6pwiziYwcMks","description":""}],"query":[],"body":[]},"script":{"pre_script":"","test":"","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"variable":[],"methods":["POST","GET","PUT","PATCH","DELETE","COPY","HEAD","OPTIONS","LINK","UNLINK","PURGE","LOCK","UNLOCK","PROPFIND","VIEW"],"mark":[{"key":"developing","name":"开发中","color":"#3A86FF","is_default":true},{"key":"complated","name":"已完成","color":"#2BA58F","is_default":true},{"key":"modifying","name":"需修改","color":"#EC4646","is_default":true}]},"code_list":[],"attribute_list":[]},"attribute_lists":[],"children":[{"local_target_id":"0f918a03-f846-4194-bfb2-3911978c9115","local_parent_id":"0","name":"后台接口重构版","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":7,"create_dtime":1684224943,"update_dtime":1684834185,"local_server_id":"","target_id":"0f918a03-f846-4194-bfb2-3911978c9115","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-16 16:15:43","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"重构版,基础服务器地址为:http:\/\/chst.vip\n测试账号为:账号:lbw 密:555","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0","children":[{"local_target_id":"82ad2dba-681c-4659-b291-9ad86873f437","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"用户管理","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":0,"create_dtime":1684811740,"update_dtime":1684811740,"local_server_id":"","target_id":"82ad2dba-681c-4659-b291-9ad86873f437","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 11:15:40","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","children":[{"local_target_id":"06b6814a-454f-4c06-85ba-ddae95b48f5d","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"登入","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1684224999,"update_dtime":1686559882,"local_server_id":"","target_id":"06b6814a-454f-4c06-85ba-ddae95b48f5d","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-16 16:16:39","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"ff83c115-5849-41f1-bb38-56cfc1e98b57","request":{"url":"http:\/\/localhost:3000\/users\/login","description":"","body":{"mode":"urlencoded","parameter":[{"description":"用户名","field_type":"String","is_checked":1,"key":"username","value":"root","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"密码","field_type":"String","is_checked":1,"key":"password","value":"120","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"{\n    \"username\": \"lbw\",\n    \"password\": \"555\"\n}","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/users\/login"},"response":{"success":{"raw":"{\n\t\"status\": 1,\n\t\"state\": true,\n\t\"msg\": \"登入成功\",\n\t\"userInfo\": {\n\t\t\"roleid\": \"1\",\n\t\t\"phone\": \"\",\n\t\t\"vipStamp\": 4133808000000,\n\t\t\"vipExpires\": \"2100-12-30 08:00:00\",\n\t\t\"vipLevel\": 3,\n\t\t\"nickname\": \"王者管理员\",\n\t\t\"roles\": \"\",\n\t\t\"headimgurl\": \"\",\n\t\t\"role\": \"\",\n\t\t\"roleName\": \"王者管理员\",\n\t\t\"openid\": \"\",\n\t\t\"sex\": \"\",\n\t\t\"city\": \"\",\n\t\t\"province\": \"\",\n\t\t\"country\": \"\",\n\t\t\"unionid\": \"\",\n\t\t\"status\": \"1\",\n\t\t\"create_at\": \"2023\/5\/24 下午6:48:39\",\n\t\t\"update_at\": \"\",\n\t\t\"_id\": \"62cbf218a8e574a8a298c238\",\n\t\t\"username\": \"root\",\n\t\t\"unid\": \"df13dsf12312\"\n\t},\n\t\"permission\": {\n\t\t\"buttons\": [\n\t\t\t\"read\",\n\t\t\t\"delete\",\n\t\t\t\"edit\",\n\t\t\t\"add\"\n\t\t]\n\t},\n\t\"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlaWQiOiIxIiwicGhvbmUiOiIiLCJ2aXBTdGFtcCI6NDEzMzgwODAwMDAwMCwidmlwRXhwaXJlcyI6IjIxMDAtMTItMzAgMDg6MDA6MDAiLCJ2aXBMZXZlbCI6Mywibmlja25hbWUiOiLnjovogIXnrqHnkIblkZgiLCJyb2xlcyI6IiIsImhlYWRpbWd1cmwiOiIiLCJyb2xlIjoiIiwicm9sZU5hbWUiOiIiLCJvcGVuaWQiOiIiLCJzZXgiOiIiLCJjaXR5IjoiIiwicHJvdmluY2UiOiIiLCJjb3VudHJ5IjoiIiwidW5pb25pZCI6IiIsInN0YXR1cyI6IjEiLCJjcmVhdGVfYXQiOiIyMDIzLzUvMjQg5LiL5Y2INjo0ODozOSIsInVwZGF0ZV9hdCI6IiIsIl9pZCI6IjYyY2JmMjE4YThlNTc0YThhMjk4YzIzOCIsInVzZXJuYW1lIjoicm9vdCIsInBhc3N3b3JkIjoiMTEwMTIwIiwidW5pZCI6ImRmMTNkc2YxMjMxMiIsImlhdCI6MTY4NDk3NTQ0NywiZXhwIjoxNjg1MDExNDQ3fQ.3RT-VpfyesXzHyWYXBDrr6ScqsqNQ8-6U1t_CtiuQ_U\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 0,\n\t\"state\": false,\n\t\"msg\": \"用户名或者密码错误\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"40110017-f5d6-419a-b67d-92e0546f96d0","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"添加用户","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1669945564,"update_dtime":1685439024,"local_server_id":"","target_id":"40110017-f5d6-419a-b67d-92e0546f96d0","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2022-12-02 09:46:04","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":1,"mock_server_url":"\/users\/addUser","mock_url":"\/users\/addUser","new_target_id":"5ff3c37c-7bc5-448b-a940-9edfddaffe1e","request":{"url":"http:\/\/localhost:3000\/users\/addUser","description":"","body":{"mode":"urlencoded","parameter":[{"is_checked":1,"type":"Text","key":"username","value":"lbw1","not_null":1,"description":"用户名","field_type":"Text","__DATAKEY__":"3f9dadfa-ab6f-4fcb-bac2-1990d8994528","value_var":"","key_var":""},{"is_checked":1,"type":"Text","key":"password","value":"555","not_null":1,"description":"密码","field_type":"Text","__DATAKEY__":"266ecbce-b9a0-4244-801b-2f7d23354ad2","value_var":"","key_var":""},{"is_checked":1,"type":"Text","key":"phone","value":"18888888888","not_null":-1,"description":"手机","field_type":"Text","__DATAKEY__":"5bbb241b-178e-49e4-a0b0-71263f3520c9","value_var":"","key_var":""},{"is_checked":1,"type":"Text","key":"nickname","value":"卢本伟","not_null":-1,"description":"昵称","field_type":"Text","__DATAKEY__":"8dc030af-9354-474e-a6d7-29ebb9189031","value_var":"","key_var":""},{"description":"邮箱","field_type":"String","is_checked":1,"key":"email","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"国家","field_type":"String","is_checked":1,"key":"country","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"省份","field_type":"String","is_checked":1,"key":"province","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"性别","field_type":"String","is_checked":1,"key":"sex","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"城市","field_type":"String","is_checked":1,"key":"city","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[{"is_checked":-1,"type":"Text","key":"authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlaWQiOiIxMDEiLCJwaG9uZSI6IjE4NzM0NzQ3NDc4IiwidmlwU3RhbXAiOjQxMzM4Mzk4MDAwMDAsInZpcEV4cGlyZXMiOiIyMTAwLTEyLTMwIDE2OjUwOjAwIiwidmlwTGV2ZWwiOjMsIm5pY2tuYW1lIjoi5oiR55yf55qE5piv5pyN5LqG5L2g5Liq6ICB5YWtIiwicm9sZXMiOiIiLCJoZWFkaW1ndXJsIjoiaHR0cHM6Ly9jaHN0LnZpcC9hdmF0YXIvaGVhZGltZ3VybC0xNjYyNjUyODU5NTE5LmpwZyIsInJvbGUiOiIiLCJyb2xlTmFtZSI6IueuoeeQhuWRmCIsIm9wZW5pZCI6IiIsInNleCI6IuKZgiIsImNpdHkiOiLls6HosLciLCJwcm92aW5jZSI6IueOi-iAheWzoeiwtyIsImNvdW50cnkiOiIiLCJ1bmlvbmlkIjoiIiwiX2lkIjoiNjJjYmYyMThhOGU1NzRhOGEyOThjMjNiIiwidXNlcm5hbWUiOiJhZG1pbiIsInBhc3N3b3JkIjoiYWRtaW4iLCJfX3YiOjAsInVuaWQiOiJZckloZmI1MDAwMTEiLCJpYXQiOjE2Njk5NDUzNjQsImV4cCI6MTY2OTk4MTM2NH0.P_HS-vedroxEzclZcpqaByFEm95CLpE-XrybODBQvCc","not_null":1,"description":"授权（码）","field_type":"Text","__DATAKEY__":"0a2a0ba2-ff5e-4264-9a9b-39081a137243","value_var":"","key_var":""}]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/users\/addUser"},"response":{"success":{"raw":"{\n\t\"status\": 1,\n\t\"state\": true,\n\t\"msg\": \"注册成功\",\n\t\"userInfo\": {\n\t\t\"username\": \"yyx4\",\n\t\t\"nickname\": \"没雨溪\",\n\t\t\"phone\": \"18888888888\"\n\t}\n}","parameter":[],"expect":{"name":"成功","isDefault":-1,"code":200,"contentType":"json","verifyType":"mock","schema":[],"mock":"{}"}},"error":{"raw":"{\n\t\"status\": 0,\n\t\"state\": false,\n\t\"msg\": \"用户名已注册\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":201,"contentType":"json","verifyType":"mock","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"3f5f5c82-efaa-41cc-8e0f-f38023743cbe","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"获取所有用户列表","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1684745621,"update_dtime":1686559367,"local_server_id":"","target_id":"3f5f5c82-efaa-41cc-8e0f-f38023743cbe","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-22 16:53:41","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"59dc4297-692e-4410-84f9-a646bccefff9","request":{"url":"http:\/\/localhost:3000\/users\/getAllUsers?page=1&count=5&username=lbw&order_by=-1","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"分页页码","is_checked":1,"key":"page","type":"Text","not_null":-1,"field_type":"String","value":"1","value_var":"","key_var":""},{"description":"分页数量","is_checked":1,"key":"count","type":"Text","not_null":-1,"field_type":"String","value":"5","value_var":"","key_var":""},{"description":"搜索的用户名","field_type":"String","is_checked":1,"key":"username","value":"lbw","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"排序规则 1是正序 -1是倒序","field_type":"String","is_checked":1,"key":"order_by","value":"-1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"手机号","field_type":"String","is_checked":-1,"key":"phone","value":"123","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/users\/getAllUsers?page=1&count=5&username=lbw&order_by=-1"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"msg\": \"success\",\n\t\"total\": 1,\n\t\"data\": [\n\t\t{\n\t\t\t\"unid\": \"QUOGAr573801\",\n\t\t\t\"vipLevel\": 0,\n\t\t\t\"vipStamp\": 1630069131626,\n\t\t\t\"username\": \"lbw2\",\n\t\t\t\"phone\": \"\",\n\t\t\t\"nickname\": \"五五开\",\n\t\t\t\"headimgurl\": \"\",\n\t\t\t\"roleName\": \"\",\n\t\t\t\"openid\": \"\",\n\t\t\t\"sex\": \"\",\n\t\t\t\"city\": \"\",\n\t\t\t\"province\": \"\",\n\t\t\t\"country\": \"\",\n\t\t\t\"create_at\": \"2023\/5\/25 上午10:13:23\",\n\t\t\t\"update_at\": \"2023\/5\/23 下午7:48:26\"\n\t\t}\n\t]\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 403,\n\t\"code\": \"10022\",\n\t\"msg\": \"请登入\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"1c3eb889-7a06-4990-80e7-d8e2d7472abb","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"修改用户信息","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":4,"create_dtime":1684840708,"update_dtime":1685434633,"local_server_id":"","target_id":"1c3eb889-7a06-4990-80e7-d8e2d7472abb","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 19:18:28","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"9f4b1a7a-3bc5-44f9-9e46-cfd9ecf8eeeb","request":{"url":"http:\/\/localhost:3000\/users\/updateUser","description":"","body":{"mode":"urlencoded","parameter":[{"description":"用户id","field_type":"String","is_checked":1,"key":"unid","value":"YrIhfb500011","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"用户账号","field_type":"String","is_checked":1,"key":"username","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"密码","field_type":"String","is_checked":1,"key":"password","value":"admin","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"昵称","field_type":"String","is_checked":1,"key":"nickname","value":"管理员","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"是否禁用","field_type":"String","is_checked":1,"key":"status","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"手机号","field_type":"String","is_checked":1,"key":"phone","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"邮箱","field_type":"String","is_checked":1,"key":"email","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"性别 0:女 1:男","field_type":"String","is_checked":1,"key":"sex","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"城市","field_type":"String","is_checked":1,"key":"city","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"省份","field_type":"String","is_checked":1,"key":"province","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"国家","field_type":"String","is_checked":1,"key":"country","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/users\/updateUser"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"status\": 200,\n\t\"msg\": \"更新成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"status\": 403,\n\t\"msg\": \"你没有权限访问,或路径不正确\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"7902ddc8-02a0-4bea-a666-36a5b7043d2e","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"增加用户","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":5,"create_dtime":1685618506,"update_dtime":1686559476,"local_server_id":"","target_id":"7902ddc8-02a0-4bea-a666-36a5b7043d2e","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-01 19:21:46","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"11a3111d-f98b-49eb-8ce3-6b8d6b9c7566","request":{"url":"http:\/\/localhost:3000","description":"","body":{"mode":"form-data","parameter":[{"description":"用户id","is_checked":1,"key":"unid","type":"Text","not_null":1,"field_type":"String","value":"YrIhfb500011","value_var":"","key_var":""},{"description":"用户账号","is_checked":1,"key":"username","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""},{"description":"密码","is_checked":1,"key":"password","type":"Text","not_null":-1,"field_type":"String","value":"admin","value_var":"","key_var":""},{"description":"昵称","is_checked":1,"key":"nickname","type":"Text","not_null":-1,"field_type":"String","value":"管理员","value_var":"","key_var":""},{"description":"是否禁用","is_checked":1,"key":"status","type":"Text","not_null":-1,"field_type":"String","value":"1","value_var":"","key_var":""},{"description":"手机号","is_checked":1,"key":"phone","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""},{"description":"邮箱","is_checked":1,"key":"email","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""},{"description":"性别 0:女 1:男","is_checked":1,"key":"sex","type":"Text","not_null":-1,"field_type":"String","value":"1","value_var":"","key_var":""},{"description":"城市","is_checked":1,"key":"city","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""},{"description":"省份","is_checked":1,"key":"province","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""},{"description":"国家","is_checked":1,"key":"country","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":""},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"976c517d-382c-4b0c-a6bd-def4cd726f7f","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"删除用户","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":6,"create_dtime":1685618517,"update_dtime":1685957424,"local_server_id":"","target_id":"976c517d-382c-4b0c-a6bd-def4cd726f7f","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-01 19:21:57","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"ebbc0a57-7cf3-4f1b-99fb-c12db72fb45a","request":{"url":"http:\/\/localhost:3000users\/deleteUser?username=fyfyif123","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"用户id","field_type":"String","is_checked":-1,"key":"unid","value":"9abab0fa759eb1685364847025","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"用户名","field_type":"String","is_checked":1,"key":"username","value":"fyfyif123","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"users\/deleteUser?username=fyfyif123"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"df74efed-1a68-424a-a167-5e0a1cba4908","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"修改用户信息 副本","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":7,"create_dtime":1686559760,"update_dtime":1686559760,"local_server_id":"","target_id":"df74efed-1a68-424a-a167-5e0a1cba4908","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 16:49:20","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"259f2f96-c181-47f7-9c44-27e2bfdfc48a","request":{"url":"http:\/\/localhost:3000\/users\/updateUser","description":"","body":{"mode":"urlencoded","parameter":[{"description":"用户id","field_type":"String","is_checked":1,"key":"unid","value":"YrIhfb500011","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"用户账号","field_type":"String","is_checked":1,"key":"username","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"密码","field_type":"String","is_checked":1,"key":"password","value":"admin","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"昵称","field_type":"String","is_checked":1,"key":"nickname","value":"管理员","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"是否禁用","field_type":"String","is_checked":1,"key":"status","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"手机号","field_type":"String","is_checked":1,"key":"phone","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"邮箱","field_type":"String","is_checked":1,"key":"email","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"性别 0:女 1:男","field_type":"String","is_checked":1,"key":"sex","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"城市","field_type":"String","is_checked":1,"key":"city","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"省份","field_type":"String","is_checked":1,"key":"province","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"国家","field_type":"String","is_checked":1,"key":"country","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/users\/updateUser"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"status\": 200,\n\t\"msg\": \"更新成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"status\": 403,\n\t\"msg\": \"你没有权限访问,或路径不正确\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"ee1dbc50-88a1-40d5-b684-0c0ad9846a93","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"获取登入日志","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":8,"create_dtime":1686562017,"update_dtime":1686562052,"local_server_id":"","target_id":"ee1dbc50-88a1-40d5-b684-0c0ad9846a93","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 17:26:57","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"1d088cd4-82c1-4d24-9f90-fdd5d77ac39d","request":{"url":"http:\/\/localhost:3000\/getloginlog?page=&count=","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"分页页码","is_checked":1,"key":"page","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""},{"description":"","is_checked":1,"key":"count","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/getloginlog?page=&count="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"876a3292-0fe0-4a10-bbca-fb13eee29b9c","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"获取登入验证码","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":10,"create_dtime":1686900006,"update_dtime":1686900076,"local_server_id":"","target_id":"876a3292-0fe0-4a10-bbca-fb13eee29b9c","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 15:20:06","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"e55ac068-f9eb-41e4-82f3-09f5343debd0","request":{"url":"http:\/\/localhost:3000\/users\/getCaptcha?v=next","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"新版本写法","field_type":"String","is_checked":1,"key":"v","value":"next","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/users\/getCaptcha?v=next"},"response":{"success":{"raw":"{\n    \"state\": true,\n    \"status\": 200,\n    \"img\":\"<svg .....\/>\"\n }","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"2157b9a6-5f6c-4032-bae3-3630fa5ae568","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"校验登入验证码","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":11,"create_dtime":1686900180,"update_dtime":1686900197,"local_server_id":"","target_id":"2157b9a6-5f6c-4032-bae3-3630fa5ae568","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 15:23:00","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"5dfa50f1-22c0-49d7-9858-5e51c3c874e9","request":{"url":"http:\/\/localhost:3000\/users\/verifyCaptcha?captcha=123","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"用户输入的验证码","field_type":"String","is_checked":1,"key":"captcha","value":"123","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/users\/verifyCaptcha?captcha=123"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"status\": 3004,\n\t\"msg\": \"验证码错误\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"33f459bd-dc27-498f-b36a-d116aa6e8e83","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"获取手机验证码","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":12,"create_dtime":1686900250,"update_dtime":1686900499,"local_server_id":"","target_id":"33f459bd-dc27-498f-b36a-d116aa6e8e83","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 15:24:10","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"67c7c417-223a-495d-b6b9-c0a9d9817cfb","request":{"url":"http:\/\/localhost:3000\/sms\/send","description":"手机验证码一天同一个号码最多10次,验证码有效时间60分钟,请谨慎使用,完成业务功能的时候建议进行节流限制~~~~","body":{"mode":"urlencoded","parameter":[{"description":"手机号码","field_type":"String","is_checked":1,"key":"phoneNumber","value":"17302555954","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/sms\/send"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"msg\": \"OK\",\n\t\"bizId\": \"946406086900429582^0\",\n\t\"code\": \"OK\",\n\t\"message\": \"OK\",\n\t\"requestId\": \"7D334E52-FA6B-5D7A-AD83-4914776599E0\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 4003,\n\t\"state\": false,\n\t\"msg\": \"模板变量JSON格式错误 或 JSON变量属性与模板占位符不一致\",\n\t\"code\": \"isv.INVALID_JSON_PARAM\",\n\t\"message\": \"模板变量JSON格式错误 或 JSON变量属性与模板占位符不一致\",\n\t\"requestId\": \"C8759271-0CFE-50E1-9AB7-C49C76F12A63\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"},{"local_target_id":"81f11954-703b-4ff6-8a10-d8158adaa3f7","local_parent_id":"82ad2dba-681c-4659-b291-9ad86873f437","name":"短信登入","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":13,"create_dtime":1686900351,"update_dtime":1686900628,"local_server_id":"","target_id":"81f11954-703b-4ff6-8a10-d8158adaa3f7","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 15:25:51","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"675ea74a-5d8c-4c65-ab97-dfa820d33cfd","request":{"url":"http:\/\/localhost:3000\/users\/login?type=sms","description":"","body":{"mode":"urlencoded","parameter":[{"description":"手机接收到的验证码(5位)","field_type":"String","is_checked":1,"key":"code","value":"97281","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"","is_checked":1,"key":"type","type":"Text","not_null":1,"field_type":"String","value":"sms","value_var":"","key_var":""},{"description":"手机接收到的验证码(5位)","field_type":"String","is_checked":-1,"key":"code","value":"97281","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/users\/login?type=sms"},"response":{"success":{"raw":"{\n\t\"status\": 1,\n\t\"state\": true,\n\t\"msg\": \"登入成功\",\n\t\"userInfo\": {\n\t\t\"roleid\": \"4\",\n\t\t\"email\": \"\",\n\t\t\"phone\": \"17302555954\",\n\t\t\"vipStamp\": 1676442846507,\n\t\t\"vipExpires\": \"2023-02-15 14:34:06\",\n\t\t\"vipLevel\": 0,\n\t\t\"nickname\": \"强盛集团\",\n\t\t\"roles\": \"\",\n\t\t\"headimgurl\": \"\",\n\t\t\"role\": \"\",\n\t\t\"roleName\": \"普通用户\",\n\t\t\"openid\": \"\",\n\t\t\"sex\": \"\",\n\t\t\"city\": \"\",\n\t\t\"province\": \"\",\n\t\t\"country\": \"\",\n\t\t\"unionid\": \"\",\n\t\t\"status\": \"1\",\n\t\t\"create_at\": \"2023\/6\/16 上午10:50:13\",\n\t\t\"update_at\": \"\",\n\t\t\"_id\": \"63e21686e595ba00b00dff77\",\n\t\t\"username\": \"gqq\",\n\t\t\"unid\": \"56hfpno56e8\"\n\t},\n\t\"permission\": {\n\t\t\"buttons\": [\n\t\t\t\"read\",\n\t\t\t\"delete\",\n\t\t\t\"edit\",\n\t\t\t\"add\"\n\t\t]\n\t},\n\t\"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlaWQiOiI0IiwiZW1haWwiOiIiLCJwaG9uZSI6IjE3MzAyNTU1OTU0IiwidmlwU3RhbXAiOjE2NzY0NDI4NDY1MDcsInZpcEV4cGlyZXMiOiIyMDIzLTAyLTE1IDE0OjM0OjA2IiwidmlwTGV2ZWwiOjAsIm5pY2tuYW1lIjoi5by655ub6ZuG5ZuiIiwicm9sZXMiOiIiLCJoZWFkaW1ndXJsIjoiIiwicm9sZSI6IiIsInJvbGVOYW1lIjoiIiwib3BlbmlkIjoiIiwic2V4IjoiIiwiY2l0eSI6IiIsInByb3ZpbmNlIjoiIiwiY291bnRyeSI6IiIsInVuaW9uaWQiOiIiLCJzdGF0dXMiOiIxIiwiY3JlYXRlX2F0IjoiMjAyMy82LzE2IOS4iuWNiDEwOjUwOjEzIiwidXBkYXRlX2F0IjoiIiwiX2lkIjoiNjNlMjE2ODZlNTk1YmEwMGIwMGRmZjc3IiwidXNlcm5hbWUiOiJncXEiLCJwYXNzd29yZCI6IjEyMyIsInVuaWQiOiI1NmhmcG5vNTZlOCIsImlhdCI6MTY4NjkwMDYxNywiZXhwIjoxNjg2OTM2NjE3fQ.0vvMg51BkxciJGPid0L6AKDPYglBg7QDYZnHZa-njZA\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"status\": 10027,\n\t\"msg\": \"先点击发送验证码\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"82ad2dba-681c-4659-b291-9ad86873f437"}]},{"local_target_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"权限管理","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":1,"create_dtime":1684811623,"update_dtime":1686562146,"local_server_id":"","target_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 11:13:43","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","children":[{"local_target_id":"751f6033-a966-46b9-aa1e-65ee4889dc54","local_parent_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097","name":"获取所有权限列表","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1684227478,"update_dtime":1686559526,"local_server_id":"","target_id":"751f6033-a966-46b9-aa1e-65ee4889dc54","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-16 16:57:58","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"9cb926e9-95b3-42a2-a130-3694a451a642","request":{"url":"http:\/\/localhost:3000\/permission\/getPermissionPath?type=2","description":"","body":{"mode":"json","parameter":[{"description":"","field_type":"String","is_checked":-1,"key":"authorization","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[{"description":"","field_type":"String","is_checked":-1,"key":"authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlaWQiOiIyMDAiLCJwaG9uZSI6IjEwMDg2IiwidmlwU3RhbXAiOjE2NzcxNzE1MzUxNjYsInZpcEV4cGlyZXMiOiIyMDIzLTAyLTI0IDAwOjU4OjU1IiwidmlwTGV2ZWwiOjAsIm5pY2tuYW1lIjoi5oiR5Y2i5pys5Lyf5rKh5pyJ5byA5oyCIiwicm9sZXMiOiIiLCJoZWFkaW1ndXJsIjoiaHR0cHM6Ly9naW1nMi5iYWlkdS5jb20vaW1hZ2Vfc2VhcmNoL3NyYz1odHRwJTNBJTJGJTJGYy1zc2wuZHVpdGFuZy5jb20lMkZ1cGxvYWRzJTJGaXRlbSUyRjIwMjAwNyUyRjAzJTJGMjAyMDA3MDMyMjM2NDdfamJ1c2MuanBnJnJlZmVyPWh0dHAlM0ElMkYlMkZjLXNzbC5kdWl0YW5nLmNvbSZhcHA9MjAwMiZzaXplPWY5OTk5LDEwMDAwJnE9YTgwJm49MCZnPTBuJmZtdD1hdXRvP3NlYz0xNjYxOTM3NTI3JnQ9YjQ1YjNkMmYxMjk2ZjhiNTY2MWI3ZmMzNzM2Yzg1OTIiLCJyb2xlIjoiIiwicm9sZU5hbWUiOiLlkZjlt6UiLCJvcGVuaWQiOiIiLCJzZXgiOiLnlLciLCJjaXR5Ijoi5Y2X5Lqs5Y2D6ZSL5pWZ6IKyIiwicHJvdmluY2UiOiLnjovogIXls6HosLciLCJjb3VudHJ5IjoiIiwidW5pb25pZCI6IiIsIl9pZCI6IjYyY2JmMjE4YThlNTc0YThhMjk4YzIzNyIsInVzZXJuYW1lIjoibGJ3IiwicGFzc3dvcmQiOiI1NTUiLCJfX3YiOjAsInVuaWQiOiJJaFBPbnA1NDE5MDgiLCJpYXQiOjE2ODQyMjc2ODksImV4cCI6MTY4NDI2MzY4OX0.X_pceTzGQK27w9XtaXq1rqyfygR802wRIeuNuN2JoUM","not_null":1,"type":"Text","value_var":"","key_var":""}]},"query":{"parameter":[{"description":"传递type=1的情况返回扁平数据,不传递返回树形数据","field_type":"String","is_checked":1,"key":"type","value":"2","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/permission\/getPermissionPath?type=2"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097"},{"local_target_id":"9b04643b-ee9a-4c38-847a-bac166eb5efc","local_parent_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097","name":"修改权限数据","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1684255629,"update_dtime":1686282046,"local_server_id":"","target_id":"9b04643b-ee9a-4c38-847a-bac166eb5efc","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-17 00:47:09","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"09f005b8-a12d-4af6-adad-f2bfd9152986","request":{"url":"http:\/\/localhost:3000\/permission\/updatePermissionPath","description":"","body":{"mode":"urlencoded","parameter":[{"description":"权限id","field_type":"String","is_checked":1,"key":"permissionId","value":"968c697f863b4","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"权限路径","field_type":"String","is_checked":-1,"key":"path","value":"\/menus\/getRoleMenus","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"请求方式","field_type":"String","is_checked":-1,"key":"method","value":"get","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"描述","field_type":"String","is_checked":1,"key":"desc","value":"获取角色菜单","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"操作权限","field_type":"String","is_checked":-1,"key":"permissions","value":"any","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/permission\/updatePermissionPath"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097"},{"local_target_id":"f206a9e4-bbb5-4724-8440-eb339f4dbf64","local_parent_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097","name":"增加权限","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1684249696,"update_dtime":1684986176,"local_server_id":"","target_id":"f206a9e4-bbb5-4724-8440-eb339f4dbf64","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-16 23:08:16","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"98940a92-d4b8-4a02-a204-a2998a19e22e","request":{"url":"http:\/\/localhost:3000\/permission\/addPermissionPath","description":"","body":{"mode":"urlencoded","parameter":[{"description":"如果是要添加子级权限,需要以数组的形式按顺序传递,比如['1','101'],如果是根目录,那么不需要传递这个字段","field_type":"String","is_checked":-1,"key":"permissionIds","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"权限的路径","field_type":"String","is_checked":1,"key":"path","value":"\/role\/roleAssignment","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"请求的方法","field_type":"String","is_checked":1,"key":"method","value":"post","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"权限的描述","field_type":"String","is_checked":1,"key":"desc","value":"角色分配","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"权限的增删查改控制 目前可以随便填,但是要传递","field_type":"String","is_checked":1,"key":"permissions","value":"any","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"关联的父级的id","field_type":"String","is_checked":1,"key":"parentid","value":"6","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"{\n    \"permissionIds\": [\n        \"1\",\n        \"11\"\n    ],\n    \"path\":\"\/test\",\n    \"desc\":\"测试\",\n    \"method\":\"*\",\n    \"permissions\":\"123\"\n}","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/permission\/addPermissionPath"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"msg\": \"添加成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"status\": 403,\n\t\"msg\": \"你没有权限访问,或路径不正确\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097"},{"local_target_id":"69269efe-78c6-415c-bc99-26dd0cdd2353","local_parent_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097","name":"删除权限","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":4,"create_dtime":1684255508,"update_dtime":1684905837,"local_server_id":"","target_id":"69269efe-78c6-415c-bc99-26dd0cdd2353","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-17 00:45:08","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"c16d42ed-adac-4722-bcc5-a06fcfde764d","request":{"url":"http:\/\/localhost:3000\/permission\/deletePermissionPath?permissionId=300000","description":"","body":{"mode":"urlencoded","parameter":[{"description":"权限的id","field_type":"String","is_checked":1,"key":"permissionId","value":"100","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"","is_checked":1,"key":"permissionId","type":"Text","not_null":1,"field_type":"String","value":"300000","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/permission\/deletePermissionPath?permissionId=300000"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"bcf05bce-33c8-4b6c-b6fd-9d2105ac2097"}]},{"local_target_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"角色管理","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":2,"create_dtime":1684811634,"update_dtime":1684811634,"local_server_id":"","target_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 11:13:54","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","children":[{"local_target_id":"847c118b-18a6-41a3-b465-0d028275b27c","local_parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","name":"获取所有角色","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":0,"create_dtime":1684806938,"update_dtime":1685086410,"local_server_id":"","target_id":"847c118b-18a6-41a3-b465-0d028275b27c","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 09:55:38","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"61c81ca0-21aa-4228-bfc3-d85fbb3f10b2","request":{"url":"http:\/\/localhost:3000\/role\/getRole?order_by=1&type=1","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"分页页码","field_type":"String","is_checked":-1,"key":"page","value":"2","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"分页数量","field_type":"String","is_checked":-1,"key":"count","value":"2","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"角色id 如果搜索可以传递角色id","field_type":"String","is_checked":-1,"key":"roleid","value":"2","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"排序规则 1是正序 -1是倒序 根据创建时间进行排序","is_checked":1,"key":"order_by","type":"Text","not_null":-1,"field_type":"String","value":"1","value_var":"","key_var":""},{"description":"传递type=1的情况返回扁平数据,不传递返回树形数据","field_type":"String","is_checked":1,"key":"type","value":"1","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/role\/getRole?order_by=1&type=1"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"查询成功\",\n\t\"total\": 8,\n\t\"data\": [\n\t\t{\n\t\t\t\"_id\": \"6462f38a305a87775c0b09d7\",\n\t\t\t\"roleid\": \"1\",\n\t\t\t\"roleName\": \"王者管理员\",\n\t\t\t\"desc\": \"Super Admin\",\n\t\t\t\"status\": \"1\",\n\t\t\t\"create_at\": \"2023\/5\/23 上午10:12:19\",\n\t\t\t\"update_at\": \"\",\n\t\t\t\"parentid\": \"\",\n\t\t\t\"children\": [\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"6462f36f305a87775c0b09d6\",\n\t\t\t\t\t\"roleid\": \"2\",\n\t\t\t\t\t\"roleName\": \"管理员\",\n\t\t\t\t\t\"desc\": \"admin\",\n\t\t\t\t\t\"status\": \"1\",\n\t\t\t\t\t\"create_at\": \"2023\/5\/23 上午10:13:19\",\n\t\t\t\t\t\"update_at\": \"\",\n\t\t\t\t\t\"parentid\": \"1\",\n\t\t\t\t\t\"children\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_id\": \"6462f44e305a87775c0b09d8\",\n\t\t\t\t\t\t\t\"roleid\": \"3\",\n\t\t\t\t\t\t\t\"roleName\": \"审核员\",\n\t\t\t\t\t\t\t\"desc\": \"auditor\",\n\t\t\t\t\t\t\t\"status\": \"1\",\n\t\t\t\t\t\t\t\"create_at\": \"2023\/5\/23 上午10:14:19\",\n\t\t\t\t\t\t\t\"update_at\": \"\",\n\t\t\t\t\t\t\t\"parentid\": \"2\",\n\t\t\t\t\t\t\t\"children\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_id\": \"646c2103841f6190969e6c9e\",\n\t\t\t\t\t\t\t\t\t\"roleid\": \"486d16a43dcf4\",\n\t\t\t\t\t\t\t\t\t\"roleName\": \"清洁工\",\n\t\t\t\t\t\t\t\t\t\"desc\": \"清洁工人最棒了\",\n\t\t\t\t\t\t\t\t\t\"parentid\": \"3\",\n\t\t\t\t\t\t\t\t\t\"create_at\": \"2023\/5\/23 上午10:12:19\",\n\t\t\t\t\t\t\t\t\t\"update_at\": \"\",\n\t\t\t\t\t\t\t\t\t\"status\": \"1\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_id\": \"6462f562305a87775c0b09d9\",\n\t\t\t\t\t\t\t\t\t\"roleid\": \"4\",\n\t\t\t\t\t\t\t\t\t\"roleName\": \"普通用户\",\n\t\t\t\t\t\t\t\t\t\"desc\": \"regular user\",\n\t\t\t\t\t\t\t\t\t\"status\": \"1\",\n\t\t\t\t\t\t\t\t\t\"create_at\": \"2023\/5\/23 上午10:15:19\",\n\t\t\t\t\t\t\t\t\t\"update_at\": \"\",\n\t\t\t\t\t\t\t\t\t\"parentid\": \"3\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_id\": \"646c8767f9542ac71d5aace5\",\n\t\t\t\t\t\t\t\t\t\"roleid\": \"0e6c3d5b294f6\",\n\t\t\t\t\t\t\t\t\t\"roleName\": \"清洁工33\",\n\t\t\t\t\t\t\t\t\t\"desc\": \"清洁工人最棒了\",\n\t\t\t\t\t\t\t\t\t\"parentid\": \"3\",\n\t\t\t\t\t\t\t\t\t\"create_at\": \"2023\/5\/23 下午5:29:11\",\n\t\t\t\t\t\t\t\t\t\"update_at\": \"\",\n\t\t\t\t\t\t\t\t\t\"status\": \"1\",\n\t\t\t\t\t\t\t\t\t\"children\": []\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_id\": \"646c2ad1f0c5fb97107889f2\",\n\t\t\t\t\t\t\t\"roleid\": \"7ecdf9ed036\",\n\t\t\t\t\t\t\t\"roleName\": \"仓管\",\n\t\t\t\t\t\t\t\"desc\": \"仓库管理员\",\n\t\t\t\t\t\t\t\"parentid\": \"2\",\n\t\t\t\t\t\t\t\"create_at\": \"2023\/5\/23 上午10:54:09\",\n\t\t\t\t\t\t\t\"update_at\": \"\",\n\t\t\t\t\t\t\t\"status\": \"1\",\n\t\t\t\t\t\t\t\"children\": []\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"_id\": \"646c30430ddc109acb125ceb\",\n\t\t\t\"roleid\": \"7d2102c543eec\",\n\t\t\t\"roleName\": \"清洁工\",\n\t\t\t\"desc\": \"城市的天使\",\n\t\t\t\"parentid\": \"\",\n\t\t\t\"create_at\": \"2023\/5\/23 上午11:17:23\",\n\t\t\t\"update_at\": \"2023\/5\/23 下午5:28:28\",\n\t\t\t\"status\": \"0\",\n\t\t\t\"children\": []\n\t\t}\n\t]\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581"},{"local_target_id":"1b32abe8-10ba-4e74-bff8-7e9ceb3399f7","local_parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","name":"添加角色","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1684807658,"update_dtime":1686559258,"local_server_id":"","target_id":"1b32abe8-10ba-4e74-bff8-7e9ceb3399f7","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 10:07:38","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"c4e2dee1-eb64-4e45-9599-66643fc6515f","request":{"url":"http:\/\/localhost:3000\/role\/addRole","description":"","body":{"mode":"urlencoded","parameter":[{"description":"角色的名字","field_type":"String","is_checked":1,"key":"roleName","value":"高级用户2","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"权限的描述","field_type":"String","is_checked":1,"key":"desc","value":"高级用户2","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"必传,指定父级角色id,可以是自己,但不能是自己的上级id","field_type":"String","is_checked":1,"key":"parentid","value":"1","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"角色禁用状态 0-1之间 1表示启用 0表示禁用","field_type":"String","is_checked":1,"key":"status","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"","field_type":"String","is_checked":-1,"key":"123","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/role\/addRole"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"添加成功\"\n}","parameter":[{"key":"state","value":"true","description":"","not_null":1,"field_type":"Boolean","type":"Text","is_checked":1},{"key":"code","value":"200","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"msg","value":"添加成功","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1}],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581"},{"local_target_id":"67b66ef0-cb29-4890-9293-0a1f32f99d6f","local_parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","name":"删除角色","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1684811663,"update_dtime":1686896002,"local_server_id":"","target_id":"67b66ef0-cb29-4890-9293-0a1f32f99d6f","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 11:14:23","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"ce8d1f77-19fd-46ea-9ce4-76d60b9fd06f","request":{"url":"http:\/\/localhost:3000\/role\/delRole?roleid=1702f0a6641ef","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"角色id","is_checked":1,"key":"roleid","type":"Text","not_null":1,"field_type":"String","value":"1702f0a6641ef","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/role\/delRole?roleid=1702f0a6641ef"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"删除成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"code\": 400,\n\t\"msg\": \"删除的角色不存在\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581"},{"local_target_id":"7f32a05b-540f-43e2-836b-a23efac1e7eb","local_parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","name":"修改角色","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1684811811,"update_dtime":1686559291,"local_server_id":"","target_id":"7f32a05b-540f-43e2-836b-a23efac1e7eb","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 11:16:51","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"7aa0b072-7af6-408b-b3cc-1fb99c141772","request":{"url":"http:\/\/localhost:3000\/role\/updateRole","description":"","body":{"mode":"urlencoded","parameter":[{"description":"角色id 如果搜索可以传递角色id","field_type":"String","is_checked":1,"key":"roleid","value":"5","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"角色的名字","field_type":"String","is_checked":1,"key":"roleName","value":"审查员","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"角色的描述","field_type":"String","is_checked":1,"key":"desc","value":"admin","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"角色的状态 1是正常 0是禁用","field_type":"String","is_checked":1,"key":"status","value":"0","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"父级id","field_type":"String","is_checked":1,"key":"parentid","value":"4","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/role\/updateRole"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"修改成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581"},{"local_target_id":"8fc79005-7633-4c9c-8e6a-74941f4b7bb1","local_parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","name":"角色授权","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":4,"create_dtime":1684825744,"update_dtime":1686559313,"local_server_id":"","target_id":"8fc79005-7633-4c9c-8e6a-74941f4b7bb1","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 15:09:04","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"e0d6438a-d1f6-443c-a4c6-6186d9c3eb15","request":{"url":"http:\/\/localhost:3000\/role\/grantRole","description":"","body":{"mode":"json","parameter":[{"description":"数组类型,传递授权目标角色的id","field_type":"Array","is_checked":1,"key":"roleids","value":"[4]","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"数组类型,传递授权的权限id","field_type":"Array","is_checked":1,"key":"permission_ids","value":"[1,2,3,4,5,6,7]","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"{\n    \"roleids\": [\n        \"4\"\n    ],\n    \"permission_ids\": [\n        \"1\",\n        \"101\",\n        \"102\",\n        \"2\"\n    ]\n}","raw_para":[{"key":"roleids","value":"4","description":"角色id","not_null":1,"field_type":"Array","type":"Text","is_checked":1},{"key":"permission_ids","value":"1","description":"菜单的id,传入数组","not_null":1,"field_type":"Array","type":"Text","is_checked":1}]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/role\/grantRole"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"授权成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"code\": 403,\n\t\"msg\": \"没有权限进行此操作\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581"},{"local_target_id":"2612e465-b0f6-4bee-a3ff-50e674de0a18","local_parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","name":"获取当前角色权限列表","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":5,"create_dtime":1684832667,"update_dtime":1684985501,"local_server_id":"","target_id":"2612e465-b0f6-4bee-a3ff-50e674de0a18","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 17:04:27","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"ab820869-84c5-4d8b-a8eb-04d54a04f53a","request":{"url":"http:\/\/localhost:3000\/role\/getRolePermission","description":"","body":{"mode":"json","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[{"description":"","field_type":"String","is_checked":1,"key":"authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlaWQiOiIyMDAiLCJwaG9uZSI6IjEwMDg2IiwidmlwU3RhbXAiOjE2NzcxNzE1MzUxNjYsInZpcEV4cGlyZXMiOiIyMDIzLTAyLTI0IDAwOjU4OjU1IiwidmlwTGV2ZWwiOjAsIm5pY2tuYW1lIjoi5oiR5Y2i5pys5Lyf5rKh5pyJ5byA5oyCIiwicm9sZXMiOiIiLCJoZWFkaW1ndXJsIjoiaHR0cHM6Ly9naW1nMi5iYWlkdS5jb20vaW1hZ2Vfc2VhcmNoL3NyYz1odHRwJTNBJTJGJTJGYy1zc2wuZHVpdGFuZy5jb20lMkZ1cGxvYWRzJTJGaXRlbSUyRjIwMjAwNyUyRjAzJTJGMjAyMDA3MDMyMjM2NDdfamJ1c2MuanBnJnJlZmVyPWh0dHAlM0ElMkYlMkZjLXNzbC5kdWl0YW5nLmNvbSZhcHA9MjAwMiZzaXplPWY5OTk5LDEwMDAwJnE9YTgwJm49MCZnPTBuJmZtdD1hdXRvP3NlYz0xNjYxOTM3NTI3JnQ9YjQ1YjNkMmYxMjk2ZjhiNTY2MWI3ZmMzNzM2Yzg1OTIiLCJyb2xlIjoiIiwicm9sZU5hbWUiOiLlkZjlt6UiLCJvcGVuaWQiOiIiLCJzZXgiOiLnlLciLCJjaXR5Ijoi5Y2X5Lqs5Y2D6ZSL5pWZ6IKyIiwicHJvdmluY2UiOiLnjovogIXls6HosLciLCJjb3VudHJ5IjoiIiwidW5pb25pZCI6IiIsInN0YXR1cyI6IjEiLCJjcmVhdGVfYXQiOiIyMDIzLzUvMjQg5LiK5Y2IMTE6MjU6NDYiLCJ1cGRhdGVfYXQiOiIiLCJfaWQiOiI2MmNiZjIxOGE4ZTU3NGE4YTI5OGMyMzciLCJ1c2VybmFtZSI6ImxidyIsInBhc3N3b3JkIjoiNTU1IiwiX192IjowLCJ1bmlkIjoiSWhQT25wNTQxOTA4IiwiaWF0IjoxNjg0ODk4NzUwLCJleHAiOjE2ODQ5MzQ3NTB9.E_xl9Fc4O5bO8yK2knITzTMuCtgdi9eN1M2ynQUxO_c","not_null":1,"type":"Text","value_var":"","key_var":""}]},"query":{"parameter":[{"description":"角色id 如果搜索可以传递角色id","is_checked":-1,"key":"roleid","type":"Text","not_null":-1,"field_type":"String","value":"1","value_var":"","key_var":""},{"description":"传递type=1的情况返回扁平数据,不传递返回树形数据","field_type":"String","is_checked":-1,"key":"type","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/role\/getRolePermission"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"查询成功\",\n\t\"data\": [\n\t\t{\n\t\t\t\"_id\": \"6463274f305a87775c0b09df\",\n\t\t\t\"id\": \"1\",\n\t\t\t\"path\": \"\/weather\",\n\t\t\t\"desc\": \"天气模块\",\n\t\t\t\"method\": \"*\",\n\t\t\t\"parentid\": \"\",\n\t\t\t\"permissions\": [\n\t\t\t\t\"edit\",\n\t\t\t\t\"view\",\n\t\t\t\t\"delete\"\n\t\t\t],\n\t\t\t\"children\": [\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"64632377305a87775c0b09db\",\n\t\t\t\t\t\"id\": \"101\",\n\t\t\t\t\t\"path\": \"\/weather\/getWeather\",\n\t\t\t\t\t\"desc\": \"获取天气\",\n\t\t\t\t\t\"parentid\": \"1\",\n\t\t\t\t\t\"method\": \"get\",\n\t\t\t\t\t\"permissions\": [\n\t\t\t\t\t\t\"edit\",\n\t\t\t\t\t\t\"view\",\n\t\t\t\t\t\t\"delete\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"64632444305a87775c0b09dc\",\n\t\t\t\t\t\"id\": \"102\",\n\t\t\t\t\t\"path\": \"\/weather\/updateWeatherCount\",\n\t\t\t\t\t\"desc\": \"修改天气\",\n\t\t\t\t\t\"parentid\": \"1\",\n\t\t\t\t\t\"method\": \"get\",\n\t\t\t\t\t\"permissions\": [\n\t\t\t\t\t\t\"edit\",\n\t\t\t\t\t\t\"view\",\n\t\t\t\t\t\t\"delete\"\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"_id\": \"64632778305a87775c0b09e0\",\n\t\t\t\"id\": \"2\",\n\t\t\t\"path\": \"\/upload\",\n\t\t\t\"desc\": \"上传模块\",\n\t\t\t\"method\": \"*\",\n\t\t\t\"parentid\": \"\",\n\t\t\t\"permissions\": [\n\t\t\t\t\"edit\",\n\t\t\t\t\"view\",\n\t\t\t\t\"delete\"\n\t\t\t]\n\t\t}\n\t]\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"status\": 403,\n\t\"msg\": \"你没有权限访问,或路径不正确\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581"},{"local_target_id":"a4a149cd-c9d7-4ee8-992b-0c49f8857526","local_parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581","name":"角色分配","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":6,"create_dtime":1684980881,"update_dtime":1686896001,"local_server_id":"","target_id":"a4a149cd-c9d7-4ee8-992b-0c49f8857526","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-25 10:14:41","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"b13a66a1-f30a-4dfb-ae9a-a34fa66d36dd","request":{"url":"http:\/\/localhost:3000\/role\/roleAssignment","description":"","body":{"mode":"urlencoded","parameter":[{"description":"分配的角色id","field_type":"String","is_checked":1,"key":"roleid","value":"4","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"分配用户的unid","field_type":"String","is_checked":1,"key":"unid","value":"d103162a711691686882603834","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"","field_type":"String","is_checked":-1,"key":"username","value":"xq666","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/role\/roleAssignment"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"分配角色成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"code\": 400,\n\t\"msg\": \"当前分配角色的用户不存在\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"49b3c77b-7374-48ff-93af-a1bb6f7e4581"}]},{"local_target_id":"0c94810d-034b-4259-bc94-692360b54f58","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"菜单管理","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":3,"create_dtime":1684834689,"update_dtime":1684834689,"local_server_id":"","target_id":"0c94810d-034b-4259-bc94-692360b54f58","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 17:38:09","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","children":[{"local_target_id":"30329b37-7be7-4677-96be-2790b6c00aff","local_parent_id":"0c94810d-034b-4259-bc94-692360b54f58","name":"添加菜单","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":0,"create_dtime":1684834733,"update_dtime":1686559073,"local_server_id":"","target_id":"30329b37-7be7-4677-96be-2790b6c00aff","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 17:38:53","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"bc567cb4-39bc-4227-bd54-43b72bb924b3","request":{"url":"http:\/\/localhost:3000\/menus\/addMenus","description":"","body":{"mode":"urlencoded","parameter":[{"description":"一个字段,用于标识菜单","field_type":"String","is_checked":1,"key":"title","value":"permissionMenus","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"菜单的名字","field_type":"String","is_checked":1,"key":"name","value":"菜单管理","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"菜单状态0-1之间 0表示禁用","field_type":"String","is_checked":1,"key":"status","value":"1","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"父级id","field_type":"String","is_checked":-1,"key":"parentid","value":"1884c4b4204","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/menus\/addMenus"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"添加成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"code\": 400,\n\t\"msg\": \"缺少字段\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"0c94810d-034b-4259-bc94-692360b54f58"},{"local_target_id":"55194198-3f00-49e5-a2ff-fd172281d0f0","local_parent_id":"0c94810d-034b-4259-bc94-692360b54f58","name":"获取所有菜单","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1684838368,"update_dtime":1686559089,"local_server_id":"","target_id":"55194198-3f00-49e5-a2ff-fd172281d0f0","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 18:39:28","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"875fa90b-0773-424e-8955-dd7be802e782","request":{"url":"http:\/\/localhost:3000\/menus\/getMenus?order_by=1&type=1","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[{"description":"","field_type":"String","is_checked":-1,"key":"authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlaWQiOiI0IiwicGhvbmUiOiIiLCJ2aXBTdGFtcCI6MTYzMDA2OTEzMTYyNiwidmlwRXhwaXJlcyI6IiIsInZpcExldmVsIjowLCJuaWNrbmFtZSI6IuS6lOS6lOW8gCIsInJvbGVzIjoiIiwiaGVhZGltZ3VybCI6IiIsInJvbGUiOiIiLCJyb2xlTmFtZSI6IiIsIm9wZW5pZCI6IiIsInNleCI6IiIsImNpdHkiOiIiLCJwcm92aW5jZSI6IiIsImNvdW50cnkiOiIiLCJ1bmlvbmlkIjoiIiwic3RhdHVzIjoiMSIsImNyZWF0ZV9hdCI6IjIwMjMvNS8yMyDkuIvljYg4OjQ5OjAzIiwidXBkYXRlX2F0IjoiMjAyMy81LzIzIOS4i-WNiDc6NDg6MjYiLCJfaWQiOiI2MmNiZjIxOGE4ZTU3NGE4YTI5OGMyMzkiLCJ1c2VybmFtZSI6ImxidzIiLCJwYXNzd29yZCI6IjU1NSIsIl9fdiI6MCwidW5pZCI6IlFVT0dBcjU3MzgwMSIsImlhdCI6MTY4NDg0NzI3NSwiZXhwIjoxNjg0ODgzMjc1fQ.lU_2FHWDyCwdaAcmoqW5WFAqd4utjOBXHWB6HspB7ns","not_null":1,"type":"Text","value_var":"","key_var":""}]},"query":{"parameter":[{"description":"查询的菜单id,不传递返回所有树形菜单","field_type":"String","is_checked":-1,"key":"menu_id","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"页码","field_type":"String","is_checked":-1,"key":"page","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"数量","field_type":"String","is_checked":-1,"key":"count","value":"2","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"排序字段值为1或者-1","field_type":"String","is_checked":1,"key":"order_by","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"如果传入type=1,返回扁平数据","field_type":"String","is_checked":1,"key":"type","value":"1","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/menus\/getMenus?order_by=1&type=1"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"查询成功\",\n\t\"total\": 14,\n\t\"data\": [\n\t\t{\n\t\t\t\"_id\": \"646c786315a73439abccfdc5\",\n\t\t\t\"menu_id\": \"1\",\n\t\t\t\"name\": \"首页\",\n\t\t\t\"parentid\": \"\",\n\t\t\t\"title\": \"glsy\",\n\t\t\t\"create_at\": \"2023-05-23 15:00:00\",\n\t\t\t\"children\": [\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"646c9a6e3128bbd14565d8a4\",\n\t\t\t\t\t\"parentid\": \"1\",\n\t\t\t\t\t\"name\": \"测试用的\",\n\t\t\t\t\t\"update_at\": \"2023\/5\/23 下午6:52:16\",\n\t\t\t\t\t\"status\": \"0\",\n\t\t\t\t\t\"children\": [],\n\t\t\t\t\t\"title\": \"hy\",\n\t\t\t\t\t\"menu_id\": \"188483b410f\",\n\t\t\t\t\t\"create_at\": \"2023\/5\/23 下午6:50:22\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"646c999d3128bbd14565d8a3\",\n\t\t\t\t\t\"parentid\": \"1\",\n\t\t\t\t\t\"name\": \"欢迎页\",\n\t\t\t\t\t\"update_at\": \"\",\n\t\t\t\t\t\"status\": \"0\",\n\t\t\t\t\t\"children\": [],\n\t\t\t\t\t\"title\": \"hy\",\n\t\t\t\t\t\"menu_id\": \"18848380e78\",\n\t\t\t\t\t\"create_at\": \"2023\/5\/23 下午6:46:53\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"_id\": \"646c7d0b15a73439abccfdc7\",\n\t\t\t\"menu_id\": \"2\",\n\t\t\t\"title\": \"xygl\",\n\t\t\t\"name\": \"学员管理\",\n\t\t\t\"create_at\": \"2023-05-23 15:00:00\",\n\t\t\t\"parentid\": \"\",\n\t\t\t\"children\": [\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"646c7cf315a73439abccfdc6\",\n\t\t\t\t\t\"menu_id\": \"8\",\n\t\t\t\t\t\"title\": \"xyxmgl\",\n\t\t\t\t\t\"parentid\": \"2\",\n\t\t\t\t\t\"name\": \"学员项目管理\",\n\t\t\t\t\t\"create_at\": \"2023-05-23 15:00:00\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"646c7d2415a73439abccfdc8\",\n\t\t\t\t\t\"menu_id\": \"9\",\n\t\t\t\t\t\"title\": \"xyzl\",\n\t\t\t\t\t\"parentid\": \"2\",\n\t\t\t\t\t\"name\": \"学员资料\",\n\t\t\t\t\t\"create_at\": \"2023-05-23 15:00:00\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"646c7d2e15a73439abccfdc9\",\n\t\t\t\t\t\"menu_id\": \"10\",\n\t\t\t\t\t\"parentid\": \"2\",\n\t\t\t\t\t\"title\": \"xysh\",\n\t\t\t\t\t\"name\": \"学员宿舍\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"_id\": \"646c7d3815a73439abccfdca\",\n\t\t\t\"menu_id\": \"3\",\n\t\t\t\"title\": \"kqgl\",\n\t\t\t\"name\": \"考勤管理\",\n\t\t\t\"create_at\": \"2023-05-23 15:00:00\",\n\t\t\t\"parentid\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"_id\": \"646c7d4215a73439abccfdcb\",\n\t\t\t\"menu_id\": \"4\",\n\t\t\t\"title\": \"yhgl\",\n\t\t\t\"name\": \"用户管理\",\n\t\t\t\"create_at\": \"2023-05-23 15:00:00\",\n\t\t\t\"parentid\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"_id\": \"646c7d5315a73439abccfdcc\",\n\t\t\t\"menu_id\": \"5\",\n\t\t\t\"title\": \"sjtj\",\n\t\t\t\"name\": \"数据统计\",\n\t\t\t\"create_at\": \"2023-05-23 15:00:00\",\n\t\t\t\"parentid\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"_id\": \"646c7d5c15a73439abccfdcd\",\n\t\t\t\"menu_id\": \"6\",\n\t\t\t\"title\": \"wdzx\",\n\t\t\t\"name\": \"我的中心\",\n\t\t\t\"create_at\": \"2023-05-23 15:00:00\",\n\t\t\t\"parentid\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"_id\": \"646c7d6715a73439abccfdce\",\n\t\t\t\"menu_id\": \"7\",\n\t\t\t\"title\": \"vip\",\n\t\t\t\"name\": \"vip管理\",\n\t\t\t\"create_at\": \"2023-05-23 15:00:00\",\n\t\t\t\"parentid\": \"\",\n\t\t\t\"children\": [\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"646c7d7115a73439abccfdcf\",\n\t\t\t\t\t\"menu_id\": \"11\",\n\t\t\t\t\t\"parentid\": \"7\",\n\t\t\t\t\t\"title\": \"vipCharge\",\n\t\t\t\t\t\"name\": \"vip充值\",\n\t\t\t\t\t\"create_at\": \"2023-05-23 15:00:00\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"_id\": \"646c7d7b15a73439abccfdd0\",\n\t\t\t\t\t\"menu_id\": \"12\",\n\t\t\t\t\t\"parentid\": \"7\",\n\t\t\t\t\t\"title\": \"order\",\n\t\t\t\t\t\"name\": \"订单管理\",\n\t\t\t\t\t\"create_at\": \"2023-05-23 15:00:00\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"0c94810d-034b-4259-bc94-692360b54f58"},{"local_target_id":"055504a3-c3fe-45a0-b47b-fb5c3ec39910","local_parent_id":"0c94810d-034b-4259-bc94-692360b54f58","name":"删除菜单","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1684838789,"update_dtime":1686559107,"local_server_id":"","target_id":"055504a3-c3fe-45a0-b47b-fb5c3ec39910","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 18:46:29","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"66c21600-91c9-4fd4-8304-814344972491","request":{"url":"http:\/\/localhost:3000\/menus\/delMenus?menu_id=18848380e78","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"查询的菜单id,不传递返回所有树形菜单","is_checked":1,"key":"menu_id","type":"Text","not_null":-1,"field_type":"String","value":"18848380e78","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/menus\/delMenus?menu_id=18848380e78"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"删除成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"code\": 400,\n\t\"msg\": \"删除的菜单不存在\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"0c94810d-034b-4259-bc94-692360b54f58"},{"local_target_id":"495221c4-19ae-4f94-8d42-74524ade18a6","local_parent_id":"0c94810d-034b-4259-bc94-692360b54f58","name":"修改菜单","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1684839107,"update_dtime":1686559148,"local_server_id":"","target_id":"495221c4-19ae-4f94-8d42-74524ade18a6","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-05-23 18:51:47","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"173e41f4-9653-43d4-9b7c-858cd7332a47","request":{"url":"http:\/\/localhost:3000\/menus\/updateMenus?menu_id=1884834d5ad","description":"","body":{"mode":"urlencoded","parameter":[{"description":"查询的菜单id,不传递返回所有树形菜单","field_type":"String","is_checked":1,"key":"menu_id","value":"188483b410f","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"菜单名字","field_type":"String","is_checked":1,"key":"name","value":"测试用的","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"父级id","field_type":"String","is_checked":1,"key":"parentid","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"查询的菜单id,不传递返回所有树形菜单","is_checked":1,"key":"menu_id","type":"Text","not_null":1,"field_type":"String","value":"1884834d5ad","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/menus\/updateMenus?menu_id=1884834d5ad"},"response":{"success":{"raw":"{\n\t\"state\": true,\n\t\"code\": 200,\n\t\"msg\": \"修改成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"code\": 400,\n\t\"msg\": \"修改的菜单不存在\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"0c94810d-034b-4259-bc94-692360b54f58"},{"local_target_id":"6dfee3fd-c4fb-451e-b48f-fbe2176c4904","local_parent_id":"0c94810d-034b-4259-bc94-692360b54f58","name":"分配菜单给角色","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":4,"create_dtime":1686214384,"update_dtime":1686217572,"local_server_id":"","target_id":"6dfee3fd-c4fb-451e-b48f-fbe2176c4904","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-08 16:53:04","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"bc4c8c0c-bad4-453d-8ee1-da21a611d199","request":{"url":"http:\/\/localhost:3000\/menus\/assignmentMenu","description":"","body":{"mode":"json","parameter":[{"description":"","field_type":"String","is_checked":1,"key":"roleid","value":"5","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"","field_type":"Array","is_checked":1,"key":"menu_id","value":"[]","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"{\n    \"roleid\":\"2\",\n    \"menu_id\":[\"1884c4e24ef\",\"1884c4c561d\",\"1884c4b4204\"]\n}","raw_para":[{"key":"roleid","value":"2","description":"角色id","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"menu_id","value":"1884c4e24ef","description":"菜单id","not_null":1,"field_type":"Array","type":"Text","is_checked":1}]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/menus\/assignmentMenu"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"0c94810d-034b-4259-bc94-692360b54f58"},{"local_target_id":"6f4343a7-f016-46b2-a27e-9d8d6fc90fd2","local_parent_id":"0c94810d-034b-4259-bc94-692360b54f58","name":"获取角色菜单","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":5,"create_dtime":1686217719,"update_dtime":1686218988,"local_server_id":"","target_id":"6f4343a7-f016-46b2-a27e-9d8d6fc90fd2","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-08 17:48:39","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"2ebfa07b-33d6-4de5-85aa-5fc9942d18eb","request":{"url":"http:\/\/localhost:3000\/menus\/getRoleMenus?roleid=&order_by=-1&type=1","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"分页页码","field_type":"String","is_checked":-1,"key":"page","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"分页数量","field_type":"String","is_checked":-1,"key":"count","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"角色id,不传为获取当前登入橘色的","is_checked":1,"key":"roleid","type":"Text","not_null":-1,"field_type":"String","value":"","value_var":"","key_var":""},{"description":"排序 -1和1两个值","is_checked":1,"key":"order_by","type":"Text","not_null":-1,"field_type":"String","value":"-1","value_var":"","key_var":""},{"description":"如果传入type=1,返回树形","is_checked":1,"key":"type","type":"Text","not_null":-1,"field_type":"String","value":"1","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/menus\/getRoleMenus?roleid=&order_by=-1&type=1"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"0c94810d-034b-4259-bc94-692360b54f58"},{"local_target_id":"abd7bee6-2bb5-49a4-8eb6-ad4e8d0928d8","local_parent_id":"0c94810d-034b-4259-bc94-692360b54f58","name":"删除角色菜单","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":6,"create_dtime":1686219525,"update_dtime":1686220515,"local_server_id":"","target_id":"abd7bee6-2bb5-49a4-8eb6-ad4e8d0928d8","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-08 18:18:45","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"6f98556d-cf88-4368-b817-20bd27a994f6","request":{"url":"http:\/\/localhost:3000\/menus\/delRoleMenus","description":"","body":{"mode":"urlencoded","parameter":[{"description":"角色id","field_type":"String","is_checked":1,"key":"roleid","value":"2","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"菜单id,可以传递数组","field_type":"Array","is_checked":1,"key":"menu_id","value":"1884c4c561d","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"角色id","field_type":"String","is_checked":-1,"key":"roleid","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"菜单id","field_type":"String","is_checked":-1,"key":"menu_id","value":"[]","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/menus\/delRoleMenus"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"0c94810d-034b-4259-bc94-692360b54f58"}]},{"local_target_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"学员模块","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":4,"create_dtime":1686562126,"update_dtime":1686564950,"local_server_id":"","target_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 17:28:46","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","children":[{"local_target_id":"18f9161f-2c5b-4ebc-85c5-e961e90eab66","local_parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","name":"获取班级列表","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1686565053,"update_dtime":1686565053,"local_server_id":"","target_id":"18f9161f-2c5b-4ebc-85c5-e961e90eab66","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 18:17:33","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"30fadce7-8ab4-4731-a459-63179d2467b6","request":{"url":"http:\/\/localhost:3000\/students\/getclasses","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/students\/getclasses"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76"},{"local_target_id":"ece30558-c8b0-414c-98ba-a68dcff5631e","local_parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","name":"获取学员信息","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1686565126,"update_dtime":1686565126,"local_server_id":"","target_id":"ece30558-c8b0-414c-98ba-a68dcff5631e","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 18:18:46","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"2ca580d9-9668-4263-8bee-ec7d271d5c4c","request":{"url":"http:\/\/localhost:3000\/students\/getstulist?page=&count=&class=","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"分页页码","field_type":"String","is_checked":1,"key":"page","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"分页数量","field_type":"String","is_checked":1,"key":"count","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"默认是全部班级的数据","field_type":"String","is_checked":1,"key":"class","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/students\/getstulist?page=&count=&class="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76"},{"local_target_id":"33bf1d8e-2111-41d9-b842-01618c57982c","local_parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","name":"添加学员信息","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1686565157,"update_dtime":1686565325,"local_server_id":"","target_id":"33bf1d8e-2111-41d9-b842-01618c57982c","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 18:19:17","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"98256be5-fa91-4d41-a7ab-f80e9474fa39","request":{"url":"http:\/\/localhost:3000\/students\/addstu","description":"","body":{"mode":"urlencoded","parameter":[{"description":"班级","field_type":"String","is_checked":1,"key":"class","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"学员的名字","field_type":"String","is_checked":1,"key":"name","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"学员的年龄","field_type":"String","is_checked":1,"key":"age","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"目前居住的城市","field_type":"String","is_checked":1,"key":"city","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"学历","field_type":"String","is_checked":1,"key":"degree","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"项目地址","field_type":"String","is_checked":1,"key":"productUrl","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"一句话对自己的评价","field_type":"String","is_checked":1,"key":"description","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"头像","field_type":"String","is_checked":1,"key":"headimgurl","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/students\/addstu"},"response":{"success":{"raw":"{\n    \"status\": 200,\n\t\"state\": true,\n    \"msg\":\"添加成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 0,\n\t\"state\": false,\n\t\"msg\": \"students validation failed: class: Path `class` is required., name: Path `name` is required., age: Path `age` is required., city: Path `city` is required., degree: Path `degree` is required., productUrl: Path `productUrl` is required., description: Path `description` is required.\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76"},{"local_target_id":"8b0e1d2f-f826-4e23-b5ec-791bcf9d0243","local_parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","name":"删除学员信息","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":4,"create_dtime":1686899232,"update_dtime":1686899253,"local_server_id":"","target_id":"8b0e1d2f-f826-4e23-b5ec-791bcf9d0243","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 15:07:12","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"360fadd1-5f26-4de6-b77d-d7d8fba8bf06","request":{"url":"http:\/\/localhost:3000\/students\/delstu?sId=","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"当前学员id","field_type":"String","is_checked":1,"key":"sId","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/students\/delstu?sId="},"response":{"success":{"raw":"\/\/ 删除成功\n{\n  \"status\": 1,\n  \"state\": true,\n  \"msg\": \"删除成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 0,\n\t\"state\": false,\n\t\"msg\": \"没有传递sId\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76"},{"local_target_id":"e521db39-d750-4ef7-8d1b-f8badcb75a10","local_parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","name":"修改学员信息","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":5,"create_dtime":1686899287,"update_dtime":1686899510,"local_server_id":"","target_id":"e521db39-d750-4ef7-8d1b-f8badcb75a10","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 15:08:07","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"fd4f3d66-3d77-4d18-95ab-9c8259d037ae","request":{"url":"http:\/\/localhost:3000\/students\/updatestu","description":"","body":{"mode":"urlencoded","parameter":[{"description":"当前学员id","field_type":"String","is_checked":1,"key":"sId","value":"5jnd3rrk6l81","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"","field_type":"String","is_checked":-1,"key":"token","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"学员的名字","field_type":"String","is_checked":1,"key":"name","value":"123","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"学员的年龄","field_type":"String","is_checked":1,"key":"age","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"目前居住的城市","field_type":"String","is_checked":1,"key":"city","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"学历","field_type":"String","is_checked":1,"key":"degree","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"项目地址","field_type":"String","is_checked":1,"key":"productUrl","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"一句话对自己的评价","field_type":"String","is_checked":1,"key":"description","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"头像","field_type":"String","is_checked":1,"key":"headimgurl","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/students\/updatestu"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"msg\": \"更新成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76"},{"local_target_id":"3ce8bcdb-a39d-4eaf-8cd6-9c8bbe6fa69e","local_parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","name":"搜索学员","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":6,"create_dtime":1686899583,"update_dtime":1686899657,"local_server_id":"","target_id":"3ce8bcdb-a39d-4eaf-8cd6-9c8bbe6fa69e","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 15:13:03","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"afe1f680-ecde-4909-be09-936bd6e50c0a","request":{"url":"http:\/\/localhost:3000\/students\/searchstu?key=3&count=&page=","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"传入学员的姓名","field_type":"String","is_checked":1,"key":"key","value":"3","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"请求的条数(默认全部返回)","field_type":"String","is_checked":1,"key":"count","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"页码","field_type":"String","is_checked":1,"key":"page","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/students\/searchstu?key=3&count=&page="},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"total\": 1,\n\t\"data\": [\n\t\t{\n\t\t\t\"_id\": \"648974bf53ddc811949b9d24\",\n\t\t\t\"class\": \"1.2\",\n\t\t\t\"name\": \"123\",\n\t\t\t\"age\": \"\",\n\t\t\t\"city\": \"\",\n\t\t\t\"degree\": \"\",\n\t\t\t\"productUrl\": \"\",\n\t\t\t\"description\": \"\",\n\t\t\t\"headimgurl\": \"\",\n\t\t\t\"cTime\": \"2023\/06\/14 16:05:19 pm\",\n\t\t\t\"sId\": \"5jnd3rrk6l8\"\n\t\t}\n\t]\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76"},{"local_target_id":"2135153b-482f-4101-94d3-f957e6dc7f43","local_parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76","name":"上传学员头像","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":7,"create_dtime":1686899711,"update_dtime":1686899941,"local_server_id":"","target_id":"2135153b-482f-4101-94d3-f957e6dc7f43","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 15:15:11","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"7f4d20c2-fbf0-49e4-bbc6-c83a615b2d3c","request":{"url":"http:\/\/localhost:3000\/students\/uploadStuAvatar","description":"","body":{"mode":"urlencoded","parameter":[{"description":"上传的文件格式 jpg|png|gif","field_type":"File","is_checked":1,"key":"headimgurl","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/students\/uploadStuAvatar"},"response":{"success":{"raw":"{\n    \"status\": 200,\n    \"state\": true,\n    \"msg\": \"上传成功\",\n    \"headimgurl\":\"http:\/\/106.12.79.128xxxx\"\n }","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 500,\n\t\"state\": false,\n\t\"msg\": \"上传失败\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"17c51994-8fc8-451f-9330-dc35bc01eb76"}]},{"local_target_id":"9074269c-f378-4121-b39c-b298b946ffff","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"天气模块","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":5,"create_dtime":1686559666,"update_dtime":1686559666,"local_server_id":"","target_id":"9074269c-f378-4121-b39c-b298b946ffff","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 16:47:46","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","children":[{"local_target_id":"abf52b05-955b-4266-a8c3-0ba83a393b49","local_parent_id":"9074269c-f378-4121-b39c-b298b946ffff","name":"获取天气","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1686559838,"update_dtime":1686561425,"local_server_id":"","target_id":"abf52b05-955b-4266-a8c3-0ba83a393b49","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 16:50:38","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"e7d8fb29-ef58-447c-b612-9edcf7f1a044","request":{"url":"http:\/\/localhost:3000\/weather\/getWeather?city=南京市","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"key的取值为all,传了则返回所有历史天气","field_type":"String","is_checked":-1,"key":"key","value":"all","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"分页页码","field_type":"String","is_checked":-1,"key":"page","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"分页数量","field_type":"String","is_checked":-1,"key":"count","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"查询的城市名字,不能带市,比如南京,次数一分钟查询一次","is_checked":1,"key":"city","type":"Text","not_null":-1,"field_type":"String","value":"南京市","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/weather\/getWeather?city=南京市"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"status\": 403,\n\t\"msg\": \"你没有权限访问,或路径不正确\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"9074269c-f378-4121-b39c-b298b946ffff"},{"local_target_id":"5c0383fe-1d0a-4341-8cb7-5d696a37d194","local_parent_id":"9074269c-f378-4121-b39c-b298b946ffff","name":"修改天气(仅root有权限)","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1686561905,"update_dtime":1686561914,"local_server_id":"","target_id":"5c0383fe-1d0a-4341-8cb7-5d696a37d194","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 17:25:05","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"06d31d96-2cdf-4967-9df2-7b262bcd6d64","request":{"url":"http:\/\/localhost:3000\/weather\/updateWeatherCount?version=&appid=&appsecret=","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"请求api的版本,有不同的天气比如v61","field_type":"String","is_checked":1,"key":"version","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"appid账号生成的id","field_type":"String","is_checked":1,"key":"appid","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"账户生成的secret","field_type":"String","is_checked":1,"key":"appsecret","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/weather\/updateWeatherCount?version=&appid=&appsecret="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"9074269c-f378-4121-b39c-b298b946ffff"}]},{"local_target_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"商城模块","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":6,"create_dtime":1686559683,"update_dtime":1686896430,"local_server_id":"","target_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 16:48:03","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","children":[{"local_target_id":"02007efa-1320-4fa3-ba65-3e002678ca6d","local_parent_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","name":"类目模块","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":5,"create_dtime":1686896402,"update_dtime":1686896450,"local_server_id":"","target_id":"02007efa-1320-4fa3-ba65-3e002678ca6d","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:20:02","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","children":[{"local_target_id":"602d4651-58d5-4edc-bcbf-802d7f76006f","local_parent_id":"02007efa-1320-4fa3-ba65-3e002678ca6d","name":"增加类目","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":0,"create_dtime":1686896078,"update_dtime":1686896147,"local_server_id":"","target_id":"602d4651-58d5-4edc-bcbf-802d7f76006f","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:14:38","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"e195c86f-d698-4256-8706-e74726f84f9e","request":{"url":"http:\/\/localhost:3000\/category\/addCategory","description":"","body":{"mode":"urlencoded","parameter":[{"description":"类目名称","field_type":"String","is_checked":1,"key":"categoryName","value":"手机数码","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"类目图片","field_type":"File","is_checked":1,"key":"categoryImgurl","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/category\/addCategory"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"msg\": \"添加成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1004,\n\t\"state\": false,\n\t\"msg\": \"err 请传入categoryName\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"02007efa-1320-4fa3-ba65-3e002678ca6d"},{"local_target_id":"8619bc44-b2e8-4ec5-b4da-23502b836f0d","local_parent_id":"02007efa-1320-4fa3-ba65-3e002678ca6d","name":"删除类目(慎用)","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1686896210,"update_dtime":1686896249,"local_server_id":"","target_id":"8619bc44-b2e8-4ec5-b4da-23502b836f0d","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:16:50","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"6926e478-02d1-476c-864f-9c6a22b4dbbd","request":{"url":"http:\/\/localhost:3000\/category\/delCategory","description":"","body":{"mode":"urlencoded","parameter":[{"description":"类目id","field_type":"String","is_checked":1,"key":"category_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/category\/delCategory"},"response":{"success":{"raw":"{\n    \"status\": 200,\n    \"state\": true,\n    \"msg\": \"删除成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1004,\n\t\"state\": false,\n\t\"msg\": \"err 请传入category_id\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"02007efa-1320-4fa3-ba65-3e002678ca6d"},{"local_target_id":"21ca6077-9fda-416d-a065-5ae75b72b1c9","local_parent_id":"02007efa-1320-4fa3-ba65-3e002678ca6d","name":"修改类目","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1686896293,"update_dtime":1686896327,"local_server_id":"","target_id":"21ca6077-9fda-416d-a065-5ae75b72b1c9","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:18:13","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"13bbfd8a-c032-4db2-bfb6-98b863132262","request":{"url":"http:\/\/localhost:3000\/category\/updateCategory","description":"","body":{"mode":"urlencoded","parameter":[{"description":"类目名称","field_type":"String","is_checked":1,"key":"categoryName","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"类目id","field_type":"String","is_checked":1,"key":"category_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/category\/updateCategory"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1004,\n\t\"state\": false,\n\t\"msg\": \"缺少categoryName或者category_id\"\n}","parameter":[{"key":"status","value":"1004","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"state","value":"false","description":"","not_null":1,"field_type":"Boolean","type":"Text","is_checked":1},{"key":"msg","value":"缺少categoryName或者category_id","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1}],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"02007efa-1320-4fa3-ba65-3e002678ca6d"},{"local_target_id":"5bb2ddb6-aa98-47df-a933-2e23e0481799","local_parent_id":"02007efa-1320-4fa3-ba65-3e002678ca6d","name":"获取类目","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1686896311,"update_dtime":1686896380,"local_server_id":"","target_id":"5bb2ddb6-aa98-47df-a933-2e23e0481799","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:18:31","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"f915a269-2b3a-4d55-9b02-5e3f47cffdb0","request":{"url":"http:\/\/localhost:3000\/category\/getCategory","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/category\/getCategory"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"msg\": \"获取成功\",\n\t\"data\": [\n\t\t{\n\t\t\t\"categoryImgurl\": \"http:\/\/chst.vip\/images\/img-1630054076092.png\",\n\t\t\t\"updateTime\": \"2023-04-03,08:08:42\",\n\t\t\t\"updator\": \"admin\",\n\t\t\t\"_id\": \"62cbf35ba8e574a8a298c7f6\",\n\t\t\t\"category_id\": \"20210827165510715\",\n\t\t\t\"categoryName\": \"vip类目-勿修改,勿删除\",\n\t\t\t\"creator\": \"lbw\",\n\t\t\t\"createTime\": \"2021-08-27,04:55:10\"\n\t\t},\n\t\t{\n\t\t\t\"categoryImgurl\": \"https:\/\/chst.vip\/images\/img-1686882121618.png\",\n\t\t\t\"updateTime\": null,\n\t\t\t\"updator\": null,\n\t\t\t\"_id\": \"648bc75053ddc811949b9e3d\",\n\t\t\t\"category_id\": \"20230616102208694\",\n\t\t\t\"categoryName\": \"水果\",\n\t\t\t\"creator\": \"root\",\n\t\t\t\"createTime\": \"2023-06-16,10:22:08\"\n\t\t},\n\t\t{\n\t\t\t\"categoryImgurl\": \"\",\n\t\t\t\"updateTime\": null,\n\t\t\t\"updator\": null,\n\t\t\t\"_id\": \"648bfe0da49ae3084c56fe39\",\n\t\t\t\"category_id\": \"20230616141541789\",\n\t\t\t\"categoryName\": \"手机数码\",\n\t\t\t\"creator\": \"root\",\n\t\t\t\"createTime\": \"2023-06-16,02:15:41\"\n\t\t}\n\t]\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"02007efa-1320-4fa3-ba65-3e002678ca6d"}]},{"local_target_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a","local_parent_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","name":"商品模块","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":6,"create_dtime":1686896447,"update_dtime":1686896447,"local_server_id":"","target_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:20:47","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","children":[{"local_target_id":"ebb1f1b2-874a-4979-9f17-ad873e7edb94","local_parent_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a","name":"添加商品","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1686896469,"update_dtime":1686896652,"local_server_id":"","target_id":"ebb1f1b2-874a-4979-9f17-ad873e7edb94","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:21:09","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"233a2964-b20c-4771-a099-0104cdfc1f63","request":{"url":"http:\/\/localhost:3000\/product\/add_product","description":"","body":{"mode":"urlencoded","parameter":[{"description":"类目id","field_type":"String","is_checked":1,"key":"category_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"商品名称 (String)","field_type":"String","is_checked":1,"key":"productName","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"商品价格 (Number) 单位以人民币为单位:元","field_type":"Number","is_checked":1,"key":"price","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"商品描述 (String)","field_type":"String","is_checked":1,"key":"description","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"商品库存 (Number)","field_type":"String","is_checked":1,"key":"inventory","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"商品图片 (file) 上传商品图片","field_type":"String","is_checked":1,"key":"imageUrl","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/product\/add_product"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"msg\": \"商品添加成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1005,\n\t\"state\": false,\n\t\"msg\": \"请传入category_id\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a"},{"local_target_id":"bb423cc9-fe77-4ccd-b0da-405a72b30f8a","local_parent_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a","name":"修改商品信息","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1686896677,"update_dtime":1686896763,"local_server_id":"","target_id":"bb423cc9-fe77-4ccd-b0da-405a72b30f8a","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:24:37","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"5633cfb9-c43e-45d6-9d9c-5dfb0df565ad","request":{"url":"http:\/\/localhost:3000\/product\/update_product","description":"","body":{"mode":"urlencoded","parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":1,"key":"product_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"商品名称 (String)","field_type":"String","is_checked":1,"key":"productName","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"商品价格 (Number) 单位以人民币为单位:元","field_type":"String","is_checked":1,"key":"price","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"商品描述 (String)","field_type":"String","is_checked":1,"key":"description","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"商品库存 (Number)","field_type":"String","is_checked":1,"key":"inventory","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"商品图片 (file) 上传商品图片","field_type":"String","is_checked":1,"key":"imageUrl","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/product\/update_product"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"msg\": \"修改成功\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1004,\n\t\"state\": false,\n\t\"msg\": \"缺少product_id\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a"},{"local_target_id":"bbd70c47-a801-41df-a2fc-4779ebdc7874","local_parent_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a","name":"获取商品","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1686896781,"update_dtime":1686896807,"local_server_id":"","target_id":"bbd70c47-a801-41df-a2fc-4779ebdc7874","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:26:21","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"658db7b2-e2a3-4de3-a055-8c263f2f3339","request":{"url":"http:\/\/localhost:3000\/product\/get_product?product_id=&category_id=","description":"","body":{"mode":"urlencoded","parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":-1,"key":"product_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":1,"key":"product_id","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"类目id","field_type":"String","is_checked":1,"key":"category_id","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/product\/get_product?product_id=&category_id="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a"},{"local_target_id":"9149a289-96f6-4dfd-a575-e534f0f2420a","local_parent_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a","name":"删除商品","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":4,"create_dtime":1686896821,"update_dtime":1686896870,"local_server_id":"","target_id":"9149a289-96f6-4dfd-a575-e534f0f2420a","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:27:01","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"7c1a4a1b-9494-4630-851f-6287ea6bc999","request":{"url":"http:\/\/localhost:3000\/product\/del_product?product_id=","description":"","body":{"mode":"form-data","parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":-1,"key":"product_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":1,"key":"product_id","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/product\/del_product?product_id="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"dd13cdc7-c96b-4b70-bde5-d96ca2a3114a"}]},{"local_target_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3","local_parent_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","name":"购物车模块","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":8,"create_dtime":1686896908,"update_dtime":1686896908,"local_server_id":"","target_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:28:28","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","children":[{"local_target_id":"28182b37-f711-49fe-9f2c-e0f4d6a7b36b","local_parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3","name":"购物车商品选中","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1686896954,"update_dtime":1686897255,"local_server_id":"","target_id":"28182b37-f711-49fe-9f2c-e0f4d6a7b36b","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:29:14","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"6fe89a14-372e-4e42-b297-8ac45f47e703","request":{"url":"http:\/\/localhost:3000\/cart\/check_cart","description":"","body":{"mode":"urlencoded","parameter":[{"description":"传递产品的id,如果存在选中多个商品,那么可以以字符串的形式用逗号(,)隔开比如 {product_id:\"1198,16843,19894\"}","field_type":"String","is_checked":1,"key":"product_id","value":"123","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/cart\/check_cart"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1004,\n\t\"state\": false,\n\t\"msg\": \"请检查是否传递了cart_id\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3"},{"local_target_id":"8b9e1c14-6a03-47d2-9e24-ff67d7d08c96","local_parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3","name":"获取购物车数据","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1686896990,"update_dtime":1686897274,"local_server_id":"","target_id":"8b9e1c14-6a03-47d2-9e24-ff67d7d08c96","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:29:50","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"3b70f31e-481f-487a-9746-25c04828b7ee","request":{"url":"http:\/\/localhost:3000\/cart\/get_cart","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/cart\/get_cart"},"response":{"success":{"raw":"{\n\t\"status\": 200,\n\t\"state\": true,\n\t\"msg\": \"获取成功\",\n\t\"data\": []\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3"},{"local_target_id":"8f6e89c0-03ea-48d0-8114-6c54ad96c1fa","local_parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3","name":"删除购物车","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1686897329,"update_dtime":1686897381,"local_server_id":"","target_id":"8f6e89c0-03ea-48d0-8114-6c54ad96c1fa","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:35:29","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"7bc7921e-dac0-4017-a41f-65471fcc5194","request":{"url":"http:\/\/localhost:3000\/cart\/del_cart?cart_id=","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"购物车对应的id","field_type":"String","is_checked":1,"key":"cart_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/cart\/del_cart?cart_id="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1004,\n\t\"state\": false,\n\t\"msg\": \"err 请传入cart_id\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3"},{"local_target_id":"e96b3da3-458f-439b-889e-29d088237a43","local_parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3","name":"新建接口","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":4,"create_dtime":1686897586,"update_dtime":1686897632,"local_server_id":"","target_id":"e96b3da3-458f-439b-889e-29d088237a43","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:39:46","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"8a082ffe-9d9a-4d94-9a2b-db37e064187d","request":{"url":"http:\/\/localhost:3000\/cart\/del_prouct?product_id=","description":"","body":{"mode":"form-data","parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":-1,"key":"product_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":1,"key":"product_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/cart\/del_prouct?product_id="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3"},{"local_target_id":"0dc0527f-5300-4896-9a85-d05ecb22b394","local_parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3","name":"更新购物车数据","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":5,"create_dtime":1686897655,"update_dtime":1686897810,"local_server_id":"","target_id":"0dc0527f-5300-4896-9a85-d05ecb22b394","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:40:55","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"826988c7-dc05-4375-9f8d-48073a2fcd7e","request":{"url":"http:\/\/localhost:3000\/cart\/update_cart","description":"","body":{"mode":"urlencoded","parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":1,"key":"product_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"修改的商品数量","field_type":"String","is_checked":1,"key":"count","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/cart\/update_cart"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1004,\n\t\"state\": false,\n\t\"msg\": \"缺少cart_id或者缺少quantity\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"8e893657-5f58-48f4-8a3a-74b4efd8d9f3"}]},{"local_target_id":"321e9039-7155-4668-ab60-c04595dc4b2b","local_parent_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","name":"订单模块","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":9,"create_dtime":1686897899,"update_dtime":1686897905,"local_server_id":"","target_id":"321e9039-7155-4668-ab60-c04595dc4b2b","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:44:59","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"b8a3b617-5c18-4f9f-ba3a-e704907417a5","children":[{"local_target_id":"371edfa5-def7-457a-8b45-5eebe12707d6","local_parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b","name":"生成预支付订单(订单默认2分钟后失效)","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":1,"create_dtime":1686897973,"update_dtime":1686898250,"local_server_id":"","target_id":"371edfa5-def7-457a-8b45-5eebe12707d6","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:46:13","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"3f90a176-22f4-45f9-91aa-10aaa44ab797","request":{"url":"http:\/\/localhost:3000\/pay\/pre_order","description":"","body":{"mode":"urlencoded","parameter":[{"description":"商品的id (String)","field_type":"String","is_checked":1,"key":"product_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"数量","field_type":"String","is_checked":1,"key":"quantity","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/pay\/pre_order"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 10010,\n\t\"state\": false,\n\t\"msg\": \"未选中商品\"\n}","parameter":[{"description":"订单状态:0未提交 1提交成功 2已经取消 3无效订单 4.交易关闭 5退货","field_type":"String","is_checked":1,"key":"order_status","value":"","not_null":1,"type":"Text"},{"description":"0未支付 1已支付","field_type":"String","is_checked":1,"key":"pay_status","value":"","not_null":1,"type":"Text"},{"description":"0未发货 1已发货 2已收货 3备货中","field_type":"String","is_checked":1,"key":"shiping_status","value":"","not_null":1,"type":"Text"}],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b"},{"local_target_id":"372e6a4d-0d65-4b23-96a6-243399823fda","local_parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b","name":"查询订单状态","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1686898298,"update_dtime":1686898387,"local_server_id":"","target_id":"372e6a4d-0d65-4b23-96a6-243399823fda","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:51:38","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"3c64eb78-a325-4fcf-914c-ebd3f677ab3c","request":{"url":"http:\/\/localhost:3000\/order\/query_order_status?order_id=","description":"查询订单的支付状态(可轮询)","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"订单id","field_type":"String","is_checked":1,"key":"order_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/order\/query_order_status?order_id="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"status\": 1004,\n\t\"state\": false,\n\t\"msg\": \"err 没有传入order_id\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b"},{"local_target_id":"c0a86639-5c9c-4ae9-b6e3-838200686c74","local_parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b","name":"查询订单详情","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":3,"create_dtime":1686898433,"update_dtime":1686898466,"local_server_id":"","target_id":"c0a86639-5c9c-4ae9-b6e3-838200686c74","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:53:53","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"96df0d3f-97aa-4072-b36e-084255d75176","request":{"url":"http:\/\/localhost:3000\/order\/get_order","description":"","body":{"mode":"urlencoded","parameter":[{"description":"订单id","field_type":"String","is_checked":-1,"key":"order_id","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/order\/get_order"},"response":{"success":{"raw":"{\n\t\"state\": false,\n\t\"data\": [],\n\t\"msg\": \"没有数据\"\n}","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b"},{"local_target_id":"e04b6cef-576b-4a10-8608-09f97e50129a","local_parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b","name":"删除订单","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":4,"create_dtime":1686898505,"update_dtime":1686898573,"local_server_id":"","target_id":"e04b6cef-576b-4a10-8608-09f97e50129a","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:55:05","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"48906ce0-e9f3-419f-9a27-1e248b2ddd2f","request":{"url":"http:\/\/localhost:3000\/order\/del_order?order_id=","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"订单id","field_type":"String","is_checked":1,"key":"order_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/order\/del_order?order_id="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"{\n\t\"state\": false,\n\t\"status\": 1004,\n\t\"msg\": \"没有传入order_id\"\n}","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b"},{"local_target_id":"8935fab1-7a76-47cc-a055-d183e7958c35","local_parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b","name":"取消订单(待开发)","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":5,"create_dtime":1686898635,"update_dtime":1686898635,"local_server_id":"","target_id":"8935fab1-7a76-47cc-a055-d183e7958c35","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:57:15","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"c1fc0d39-06a0-4503-9f06-73d08498cf65","request":{"url":"http:\/\/localhost:3000\/order\/cancel?order_id=","description":"用于取消当前订单~~~~","body":{"mode":"urlencoded","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"订单id","field_type":"String","is_checked":1,"key":"order_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/order\/cancel?order_id="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b"},{"local_target_id":"994dc56d-1ca6-4094-b5dc-bd79ad83b975","local_parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b","name":"发货配送(待开发)","method":"GET","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":6,"create_dtime":1686898682,"update_dtime":1686898711,"local_server_id":"","target_id":"994dc56d-1ca6-4094-b5dc-bd79ad83b975","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:58:02","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"b34c2942-991c-4577-a60c-79fe750ef46d","request":{"url":"http:\/\/localhost:3000\/order\/ship?action=&order_id=","description":"","body":{"mode":"form-data","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"0未发货 1已发货 2已收货 3备货中","field_type":"String","is_checked":1,"key":"action","value":"","not_null":1,"type":"Text","value_var":"","key_var":""},{"description":"订单id","field_type":"String","is_checked":1,"key":"order_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/order\/ship?action=&order_id="},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b"},{"local_target_id":"25437b53-5b96-4d04-a778-2df2b4f8290c","local_parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b","name":"退货(待开发)","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":7,"create_dtime":1686898743,"update_dtime":1686898771,"local_server_id":"","target_id":"25437b53-5b96-4d04-a778-2df2b4f8290c","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:59:03","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"faec7214-8c24-4259-a5e4-02d7039aa1b3","request":{"url":"http:\/\/localhost:3000\/order\/returns","description":"","body":{"mode":"urlencoded","parameter":[{"description":"订单id","field_type":"String","is_checked":1,"key":"order_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/order\/returns"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"321e9039-7155-4668-ab60-c04595dc4b2b"}]}]},{"local_target_id":"6b5ae81e-f6a5-4f34-93f0-0e7e8e2a3069","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"支付模块","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","example_type":"0","project_id":2446259,"status":1,"sort":7,"create_dtime":1686559737,"update_dtime":1686559737,"local_server_id":"","target_id":"6b5ae81e-f6a5-4f34-93f0-0e7e8e2a3069","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 16:48:57","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"script":{"pre_script":"","test":"","pre_script_switch":1,"test_switch":1},"request":{"description":"","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","children":[{"local_target_id":"238f4b21-2539-484b-b121-31fc6f59c25b","local_parent_id":"6b5ae81e-f6a5-4f34-93f0-0e7e8e2a3069","name":"PC扫码微信支付","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":2,"create_dtime":1686898789,"update_dtime":1686898996,"local_server_id":"","target_id":"238f4b21-2539-484b-b121-31fc6f59c25b","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-16 14:59:49","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"85744d40-3459-4ce7-8360-bda1fb7c1a69","request":{"url":"http:\/\/localhost:3000\/pay\/payment","description":"","body":{"mode":"urlencoded","parameter":[{"description":"公众账号ID","field_type":"String","is_checked":1,"key":"appid","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"微信支付分配的商户号","field_type":"String","is_checked":1,"key":"mch_id","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"交易类型,值:NATIVE、 JSAPI、 APP 否 (默认NATIVE)","field_type":"String","is_checked":1,"key":"trade_type","value":"","not_null":-1,"type":"Text","value_var":"","key_var":""},{"description":"订单id","field_type":"String","is_checked":1,"key":"order_id","value":"","not_null":1,"type":"Text","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/pay\/payment"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"6b5ae81e-f6a5-4f34-93f0-0e7e8e2a3069"}]},{"local_target_id":"89feb7bf-d638-44a8-a20e-341642df3efa","local_parent_id":"0f918a03-f846-4194-bfb2-3911978c9115","name":"上传图片","method":"POST","mark":"developing","is_doc":0,"target_type":"api","example_type":"0","project_id":"b742cebb-bed5-476f-c6aa-728c6b6e3d93","status":1,"sort":8,"create_dtime":1686561976,"update_dtime":1686561976,"local_server_id":"","target_id":"89feb7bf-d638-44a8-a20e-341642df3efa","modifier_id":"URGM54EC82CF","extend_server_id":"","create_time":"2023-06-12 17:26:16","create_users":{"create_user":"没雨溪","update_user":"没雨溪"},"color":"#3A86FF","attribute_lists":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","new_target_id":"d9f3fcef-e5b4-469d-a48b-68c300886498","request":{"url":"http:\/\/localhost:3000\/upload\/uploadImg","description":"","body":{"mode":"form-data","parameter":[{"description":"图片文件","field_type":"String","is_checked":1,"key":"img","value":"","not_null":1,"type":"File","filename":"","value_var":"","key_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"\/upload\/uploadImg"},"response":{"success":{"raw":"","parameter":[],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"0f918a03-f846-4194-bfb2-3911978c9115"}]}]}};
        apipostData = apipostData.data;
        consoleLog('apipostData ---- ',apipostData);
    } catch (e) { }

    if (!_.isEmpty(apipostData)) {
        if (!_.isArray(apipostData.children)) {
            apipostData.children = [];
        }

        // 导航菜单
        apipostData.children = sortData(apipostData.children, 'ascending');

        // 数据词典（对象，键为target_id）
        const dataDB = {};
        const ruleType = (data) => {
            const d = Object.prototype.toString.call(data);
            return d.substr(8, d.length - 9);
        };

        const renderListtoObject = (List) => {
            if (ruleType(List) === 'Array') {
                List &&
                List.forEach((item) => {
                    if (item.children) {
                        renderListtoObject(item.children);
                        dataDB[item.target_id] = item;
                    } else {
                        dataDB[item.target_id] = item;
                    }
                });
            }
        };

        // 搜索
        $(document).on('input', 'input[name="search-input"]', function () {
            let keyword = _.toLower($(this).val());
            let searchResult = [];

            if (keyword == '') {
                $('.apipost-left-nav-template').find('li').removeClass('is-search-hidden search-toggle');
            } else {

                if (_.isObject(dataDB) && !_.isEmpty(dataDB)) {
                    _.forEach(dataDB, function (item) {
                        consoleLog(_.toLower(item.name), keyword, _.toLower(item.name).indexOf(keyword))
                        if (_.toLower(item.url).indexOf(keyword) > -1 || _.toLower(item.name).indexOf(keyword) > -1 || _.toLower(item.method).indexOf(keyword) > -1) {
                            searchResult.push(item.target_id);
                        }
                    });

                    if (searchResult.length == 0) {
                        $('.apipost-left-nav-template').find('li').addClass('is-search-hidden');
                    } else {
                        searchResult.forEach(target_id => {
                            searchResult = _.concat(searchResult, getParentTargetIDs(Object.values(dataDB), target_id));
                        })
                    }

                    // 隐藏其他
                    _.difference(Object.keys(dataDB), searchResult).forEach(hidden_target_id => {
                        $(`.apipost-left-nav-template li[data-target_id="${hidden_target_id}"]`).addClass('is-search-hidden');
                        $(`.apipost-left-nav-template li[data-target_id="${hidden_target_id}"][data-type="folder"]`).addClass('search-toggle');
                    })

                    // 展示结果
                    searchResult.forEach(show_target_id => {
                        $(`.apipost-left-nav-template li[data-target_id="${show_target_id}"]`).removeClass('is-search-hidden is-hidden search-toggle');
                        $(`.apipost-left-nav-template li[data-target_id="${show_target_id}"][data-type="folder"]`).removeClass('search-toggle');
                    })
                }
            }
        })

        renderListtoObject(apipostData.children);

        // 获取当前的target_id
        let _target_id = '001';
        const _urlParas = GetUrlQuery();

        if (_.isObject(_urlParas) && _.isString(_urlParas.target_id)) {
            _target_id = _urlParas.target_id;
        }

        // 修改地址栏
        function changeURLStatic(name, value) {
            const url = changeURLParam(location.href, name, value); // 修改 URL 参数
            history.replaceState(null, null, url); // 替换地址栏
        }

        function changeURLParam(url, name, value) {
            const reg = eval(`/([?|&]${name}=)[^&]*/gi`);
            value = value.toString().replace(/(^\s*)|(\s*$)/g, ''); // 移除首尾空格
            let url2;
            if (!value) {
                // remove
                url2 = url.replace(reg, '');
            } else if (url.match(reg)) {
                // edit
                url2 = url.replace(reg, `$1${value}`);
            } else {
                // add
                url2 = `${url + (url.indexOf('?') > -1 ? '&' : '?') + name}=${value}`;
            }
            return url2;
        }

        // 格式化内容
        function formatJson(json) {
            // consoleLog(json, apipostData);

            // name
            if (json.target_type == 'global') {
                _.set(json, 'name', '全局公共参数');
            }

            // mark
            if (_.has(apipostData, 'project.vars.mark') && _.isArray(apipostData.project.vars.mark)) {
                const _markedObj = {};
                apipostData.project.vars.mark.forEach((item) => {
                    _markedObj[item.key] = item;
                });

                if (_.isObject(_markedObj[json.mark])) {
                    _.set(json, 'formatMark', _markedObj[json.mark]);
                }
            }

            // time
            if (_.isNumber(json.create_dtime)) {
                if (String(json.create_dtime).length == 10) {
                    _.set(
                        json,
                        'format_create_dtime',
                        dayjs.unix(json.create_dtime).format('YYYY-MM-DD HH:mm:ss')
                    );
                }

                if (String(json.create_dtime).length == 13) {
                    _.set(json, 'format_create_dtime', dayjs(json.create_dtime).format('YYYY-MM-DD HH:mm:ss'));
                }
            } else {
                if (_.isString(json.create_dtime)) {
                    _.set(json, 'format_create_dtime', json.create_dtime);
                } else {
                    _.set(json, 'format_create_dtime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
                }
            }

            if (_.isNumber(json.update_dtime)) {
                if (String(json.update_dtime).length == 10) {
                    _.set(
                        json,
                        'format_update_dtime',
                        dayjs.unix(json.update_dtime).format('YYYY-MM-DD HH:mm:ss')
                    );
                }

                if (String(json.update_dtime).length == 13) {
                    _.set(json, 'format_update_dtime', dayjs(json.update_dtime).format('YYYY-MM-DD HH:mm:ss'));
                }
            } else {
                if (_.isString(json.update_dtime)) {
                    _.set(json, 'format_update_dtime', json.update_dtime);
                } else {
                    _.set(json, 'format_update_dtime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
                }
            }

            // formatMode
            if (_.has(json, 'request.body.mode')) {
                switch (json.request.body.mode) {
                    case 'none':
                        break;
                    case 'form-data':
                        _.set(json, 'request.body.formatMode', 'multipart/form-data');
                        break;
                    case 'urlencoded':
                        _.set(json, 'request.body.formatMode', 'application/x-www-form-urlencoded');
                        break;
                    case 'json':
                        _.set(json, 'request.body.formatMode', 'application/json');
                        break;
                    case 'xml':
                        _.set(json, 'request.body.formatMode', 'application/xml');
                        break;
                    case 'javascript':
                        _.set(json, 'request.body.formatMode', 'application/javascript');
                        break;
                    case 'plain':
                        _.set(json, 'request.body.formatMode', 'text/plain');
                        break;
                    case 'html':
                        _.set(json, 'request.body.formatMode', 'text/html');
                        break;
                }
            }

            if(_.has(json, 'request.auth.type')) {
                switch (json.request.auth.type) {
                    case 'noauth':
                        _.set(json, 'request.authType', '无需认证');
                        break;
                    case 'awsv4':
                        _.set(json, 'request.authType', 'AWS Signature');
                        break;
                    case 'basic':
                        _.set(json, 'request.authType', 'Basic auth');
                        break;
                    case 'bearer':
                        _.set(json, 'request.authType', 'Bearer auth');
                        break;
                    case 'digest':
                        _.set(json, 'request.authType', 'Digest auth');
                        break;
                    case 'edgegrid':
                        _.set(json, 'request.authType', 'Akamai EdgeGrid');
                        break;
                    case 'hawk':
                        _.set(json, 'request.authType', 'Hawk authentication');
                        break;
                    case 'kv':
                        _.set(json, 'request.authType', '私密键值对');
                        break;
                    case 'ntlm':
                        _.set(json, 'request.authType', 'NTLM Authentication');
                        break;
                    case 'oauth1':
                        _.set(json, 'request.authType', 'OAuth 1.0');
                        break;
                }
            }

            json.url = json.request.url;
            return json;
        }

        // 加载当前数据
        function loadData(_target_id,dataDB) {

            // 获取当前的数据信息
            let _targetData = {};

            // 右侧浮动导航
            let floatNavs = [];

            if(_target_id == '001'){
                if (_.isObject(dataDB[_target_id])) {
                    _targetData = _.cloneDeep(dataDB[_target_id]);
                } else if (
                    _.has(apipostData, 'project.vars.request') &&
                    _.isObject(apipostData.project.vars.request)
                ) {
                    _targetData = {
                        target_type: 'global',
                        request: apipostData.project.vars.request,
                        script: apipostData.project.vars.script,
                    };
                } else {
                    _targetData = {
                        target_type: 'none',
                        request: {},
                    };
                }

                _targetData = formatJson(_targetData);

                $('.apipost-doc-body-nav-list').find('li').removeClass('active');
                $('.apipost-doc-body-nav-list')
                    .find(`li[data-target_id="${_target_id}"]`)
                    .eq(0)
                    .addClass('active')
                    .toggleClass('toggle search-toggle');

                // const children_ids = getChildrenTargetIDs(Object.values(dataDB), _target_id);
                //
                // if (_.isArray(children_ids)) {
                //     if (
                //         $('.apipost-doc-body-nav-list')
                //             .find(`li[data-target_id="${_target_id}"]`)
                //             .eq(0)
                //             .hasClass('toggle')
                //     ) {
                //         children_ids.forEach((target_id) => {
                //             if ($(`li[data-target_id="${target_id}"]`).attr('data-type') == 'folder') {
                //                 $(`li[data-target_id="${target_id}"]`).addClass('is-hidden toggle');
                //             } else {
                //                 $(`li[data-target_id="${target_id}"]`).addClass('is-hidden');
                //             }
                //         });
                //     } else {
                //         children_ids.forEach((target_id) => {
                //             if ($(`li[data-target_id="${target_id}"]`).attr('data-type') == 'folder') {
                //                 $(`li[data-target_id="${target_id}"]`).removeClass('is-hidden toggle');
                //             } else {
                //                 $(`li[data-target_id="${target_id}"]`).removeClass('is-hidden');
                //             }
                //         });
                //     }
                // }

                _targetData.copyData = JSON.parse(JSON.stringify(_targetData));
                if(_targetData.copyData.target_type == 'example'){
                    _targetData.copyData.target_type = _targetData.copyData.example_type;
                }

                // 加载左侧内容
                const _docContentHtml = template('apipost-doc-wrap-tpl', {
                    data: _targetData,
                    target_id: _target_id,
                });

                $('.apipost-doc-wrap').html(_docContentHtml);

                // 右侧浮动导航
                floatNavs = [];
                $('.apipost-doc-wrap').find('h3 ,h4, h5, h6, h7').each((i, item) => {
                    let text = $(item).attr('data-text');
                    let id = $(item).attr('id');
                    if (text) {
                        floatNavs.push({
                            text, id,
                            name: $(item).prop("tagName"),
                            indent: $(item).prop("tagName").replace(/[^0-9]/ig, "") - 2,
                        })
                    }
                })

                const _floatNavs = template('apipost-float-nav-template-tpl', {
                    list: floatNavs
                });

                $('.apipost-float-nav-template').html(_floatNavs);

                // 请求body raw 参数
                try {
                    if (_targetData.target_type == 'grpc' || _targetData.example_type == 'grpc') {
                        $('.request-body-raw-editor-json').each((i, item) => {
                            let val = $(item).prev('input').val();

                            if(val){
                                new JsonEditor(
                                    `#${$(item).attr('id')}`,
                                    JSON5.parse(val),
                                    {},
                                    []
                                ).load(JSON5.parse(val), []);
                            }
                        })
                    }

                    if (_targetData.target_type == 'api' || _targetData.example_type == 'api') {
                        let obj = [];
                        if (_.has(_targetData, 'request.body.raw_para')) {
                            obj = _targetData.request.body.raw_para.map((itemRaw) => {
                                const arr = itemRaw.key.split('.');
                                itemRaw.newKey = arr[arr.length - 1];
                                return itemRaw;
                            });
                        }

                        if($('#request-body-raw-editor-input').length > 0){
                            new JsonEditor('#request-body-raw-editor-json',
                                JSON5.parse($('#request-body-raw-editor-input').val()),
                                {},
                                obj
                            ).load(JSON5.parse($('#request-body-raw-editor-input').val()), obj);
                        }
                    }
                } catch (e) { }

                // 响应示例 raw 参数
                try {
                    _.forEach(_targetData.response, function (item, key) {
                        const obj = item.parameter.map((itemRaw) => {
                            const arr = itemRaw.key.split('.');
                            itemRaw.newKey = arr[arr.length - 1];
                            return itemRaw;
                        });

                        if($(`#response-raw-${key}-json-input`).length > 0){
                            new JsonEditor(`#response-raw-${key}-json`,
                                JSON5.parse($(`#response-raw-${key}-json-input`).val()),
                                {},
                                obj
                            ).load(JSON5.parse($(`#response-raw-${key}-json-input`).val()), obj);
                        }
                    });
                } catch (e) { }

                // 更新 url
                changeURLStatic('target_id', _target_id);

                // 优化 apipost-doc-paras 展示
                $('.apipost-doc-paras').each((i, item) => {
                    if ($(item).children().length == 0) {
                        let _id = $(item).attr('for-id');
                        let _title = $(`#${_id}`).attr('data-text');
                        let _tipDiv = `<div class="apipost-no-data">暂无${_title}数据</div>`;
                        $(item).append(_tipDiv)
                    }
                })
            }else {

                let newdata = Object.values(dataDB)
                // let LevelArr = []
                //
                // function levelTree(arr1, newarr) {
                //     arr1.forEach(item => {
                //         if (item.children && item.children.length > 0) {
                //             newarr.push(item)
                //             levelTree(item.children, newarr)
                //         } else {
                //             newarr.push(item)
                //         }
                //     })
                // }
                //
                // levelTree(newdata, LevelArr)

                newdata.forEach(item => {
                    if (item.local_target_id == _target_id) {

                        _targetData = formatJson(item);

                        $('.apipost-doc-body-nav-list').find('li').removeClass('active');
                        $('.apipost-doc-body-nav-list')
                            .find(`li[data-target_id="${_target_id}"]`)
                            .eq(0)
                            .addClass('active')
                            .toggleClass('toggle search-toggle');

                        const children_ids = getChildrenTargetIDs(Object.values(dataDB), _target_id);

                        if (_.isArray(children_ids)) {
                            if (
                                $('.apipost-doc-body-nav-list')
                                    .find(`li[data-target_id="${_target_id}"]`)
                                    .eq(0)
                                    .hasClass('toggle')
                            ) {
                                children_ids.forEach((target_id) => {
                                    if ($(`li[data-target_id="${target_id}"]`).attr('data-type') == 'folder') {
                                        $(`li[data-target_id="${target_id}"]`).addClass('is-hidden toggle');
                                    } else {
                                        $(`li[data-target_id="${target_id}"]`).addClass('is-hidden');
                                    }
                                });
                            } else {
                                children_ids.forEach((target_id) => {
                                    if ($(`li[data-target_id="${target_id}"]`).attr('data-type') == 'folder') {
                                        $(`li[data-target_id="${target_id}"]`).removeClass('is-hidden toggle');
                                    } else {
                                        $(`li[data-target_id="${target_id}"]`).removeClass('is-hidden');
                                    }
                                });
                            }
                        }

                        // 加载左侧内容
                        const _docContentHtml = template('apipost-doc-wrap-tpl', {
                            data: _targetData,
                            target_id: _target_id,
                        });

                        $('.apipost-doc-wrap').html(_docContentHtml);

                        // 右侧浮动导航
                        floatNavs = [];
                        $('.apipost-doc-wrap').find('h3 ,h4, h5, h6, h7').each((i, item) => {
                            let text = $(item).attr('data-text');
                            let id = $(item).attr('id');
                            if (text) {
                                floatNavs.push({
                                    text, id,
                                    name: $(item).prop("tagName"),
                                    indent: $(item).prop("tagName").replace(/[^0-9]/ig, "") - 2,
                                })
                            }
                        })

                        const _floatNavs = template('apipost-float-nav-template-tpl', {
                            list: floatNavs
                        });

                        $('.apipost-float-nav-template').html(_floatNavs);

                        // 请求body raw 参数
                        try {
                            if (_targetData.target_type == 'grpc' || _targetData.example_type == 'grpc') {
                                $('.request-body-raw-editor-json').each((i, item) => {
                                    let val = $(item).prev('input').val();

                                    if(val){
                                        new JsonEditor(
                                            `#${$(item).attr('id')}`,
                                            JSON5.parse(val),
                                            {},
                                            []
                                        ).load(JSON5.parse(val), []);
                                    }
                                })
                            }

                            if (_targetData.target_type == 'api' || _targetData.example_type == 'api') {
                                let obj = [];
                                if (_.has(_targetData, 'request.body.raw_para')) {
                                    obj = _targetData.request.body.raw_para.map((itemRaw) => {
                                        const arr = itemRaw.key.split('.');
                                        itemRaw.newKey = arr[arr.length - 1];
                                        return itemRaw;
                                    });
                                }

                                if($('#request-body-raw-editor-input').length > 0){
                                    new JsonEditor('#request-body-raw-editor-json',
                                        JSON5.parse($('#request-body-raw-editor-input').val()),
                                        {},
                                        obj
                                    ).load(JSON5.parse($('#request-body-raw-editor-input').val()), obj);
                                }
                            }
                        } catch (e) { }

                        // 响应示例 raw 参数
                        try {
                            _.forEach(_targetData.response, function (item, key) {
                                const obj = item.parameter.map((itemRaw) => {
                                    const arr = itemRaw.key.split('.');
                                    itemRaw.newKey = arr[arr.length - 1];
                                    return itemRaw;
                                });

                                if($(`#response-raw-${key}-json-input`).length > 0){
                                    new JsonEditor(`#response-raw-${key}-json`,
                                        JSON5.parse($(`#response-raw-${key}-json-input`).val()),
                                        {},
                                        obj
                                    ).load(JSON5.parse($(`#response-raw-${key}-json-input`).val()), obj);
                                }
                            });
                        } catch (e) { }
                        // 更新 url
                        changeURLStatic('target_id', _target_id);
                    }
                    // 优化 apipost-doc-paras 展示
                    $('.apipost-doc-paras').each((i, item) => {
                        if ($(item).children().length == 0) {
                            let _id = $(item).attr('for-id');
                            let _title = $(`#${_id}`).attr('data-text');
                            let _tipDiv = `<div class="apipost-no-data">暂无${_title}数据</div>`;
                            $(item).append(_tipDiv)
                        }
                    })
                })
            }

            // 折叠导航(移动端)
            $('.apipost-doc-body-nav,.apipost-doc-body-content').removeClass('open');

            $(document).on('scroll', function (e) {
                let currentNav= '';
                let scrollTop = $(document).scrollTop();

                floatNavs.forEach(item => {
                    if ($(`#${item.id}`).offset()) {
                        if ($(`#${item.id}`).offset().top > scrollTop && currentNav == '') {
                            currentNav = item.id
                            // console.log(currentNav)
                            $('.apipost-float-nav-template').find(`li[data-id="${currentNav}"]`).addClass('active').siblings().removeClass('active');
                        }
                    }
                })
                // console.log('请求参数:', $('#请求参数').offset().top, scrollTop)
            }).on('click', '.apipost-float-nav-template li', function(){
                $(this).addClass('active').siblings().removeClass('active');
            });

        }

        // 初始化左侧导航列表
        const _leftNavHtml = template('apipost-left-nav-template-tpl', {
            list: apipostData.children,
            target_id: _target_id,
        });

        $('.apipost-left-nav-template').html(_leftNavHtml);

        // 初始化项目公共信息
        $('title').text(`${apipostData.project_name} - Powered by Apipost V7`);
        $('.apipost-doc-body-nav-title').text(`${apipostData.project_name}`);

        // project-logo
        if (_.has(apipostData, 'project_logo') && apipostData.project_logo != '') {
            $('.project-logo').attr('src', apipostData.project_logo);
        }

        $('.project-logo').on('error', function () {
            $('.project-logo').attr('src', 'https://img.cdn.apipost.cn/docs/images7/logo.svg');
        });
        // consoleLog(apipostData)

        // 复制按钮
        const clipboard = new ClipboardJS('.copy-clipboard');
        clipboard.on('success', function (e) {
            $('.copy-clipboard-success').remove();
            $(e.trigger).append('<i class="copy-clipboard-success">复制成功</i>');
            e.clearSelection();
            $('.copy-clipboard-success').fadeOut(1000);
            setTimeout(function () {
                $('.copy-clipboard-success').remove();
            }, 1500);
        });

        clipboard.on('error', function (e) { });

        // 优化左侧菜单展示，默认收起
        // 获取当前的父ID
        let _target_parent_ids = getParentTargetIDs(Object.values(dataDB), _target_id);

        $('.apipost-left-nav-template').children('li').each((i, item) => {
            if ($(item).attr('data-type') == 'folder') {
                if (_target_parent_ids.indexOf($(item).attr('data-target_id')) == -1) {
                    $(item).addClass('toggle');
                } else {
                    $(item).removeClass('toggle');
                }
            }

            //if($(item).attr('data-type') != 'example') {
                if ($(item).attr('data-parent_id') != '0' && _target_parent_ids.indexOf($(item).attr('data-target_id')) == -1 && $(item).attr('data-target_id') != _target_id) {
                    $(item).addClass('is-hidden');
                } else {
                    $(item).removeClass('is-hidden');
                }
            //}
        })

        // 同级展示
        if (dataDB[_target_id]) {
            // $('.apipost-left-nav-template').children(`li[data-parent_id="${dataDB[_target_id].parent_id}"]`).removeClass('is-hidden');
            _target_parent_ids.forEach(_parent_id => {
                $('.apipost-left-nav-template').children(`li[data-parent_id="${_parent_id}"]`).removeClass('is-hidden');
            })
        }

        // alert(dataDB)
        // 加载单接口信息
        loadData(_target_id, dataDB);

        // 绑定事件
        $(document).on('click', '.mobile-nav-toggle-link-btn', function () { // 移动端导航
            $('.apipost-doc-body-nav,.apipost-doc-body-content').addClass('open');
        }).on('click', '.load-data-btn', function () { // 加载数据
            let target_id = $(this).attr('data-target_id');
            // let parent_id = $(this).attr('data-parent_id');
            // let target_type = $(this).attr('data-type');
            // let indent = $(this).attr('data-indent');

            // 加载单条数据
            loadData(target_id, dataDB);
        }).on('click', '.export-download-btn', function () { // 导出文档
            $(this).next('ul').toggleClass('is-hidden');
        })
    } else {
        // 空数据
        // consoleLog('null')
    }
</script>
<script>
    var _hmt = _hmt || [];
    (function () {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?a046ce178828e393614822a297b8d296";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    })();
</script>
</body>

</html>
